#!/bin/bash # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 source "$(dirname -- "$0")/lib/ulib/auto" || exit 1 function display_help() { uecho "$scriptname: Monter une image ISO USAGE $scriptname image.iso [mountpoint] Par défaut, l'image iso est montée sur un répertoire avec le même nom de base. Si l'image est déjà montée, elle est démontée. Les options -m et -u permettent de modifier le comportement par défaut. OPTIONS -m Forcer le montage -u Forcer le démontage" } action=auto parse_opts "${PRETTYOPTS[@]}" \ --help '$exit_with display_help' \ -m action=mount \ -u action=umount \ @ args -- "$@" && set -- "${args[@]}" || die "$args" image="$1" [ -n "$image" ] || die "Vous devez spécifier l'image iso à monter" [ -d "$image" -a -f "$image.iso" ] && image="$image.iso" [ -f "$image" ] || die "$image: fichier introuvable" image="$(abspath "$image")" mountpoint="$2" if [ -z "$mountpoint" ]; then imagedir="$(dirname "$image")" origname="$(basename "$image")" basename="${origname%.*}" if [ "$basename" == "$origname" ]; then # fichier sans extension i= while [ -d "$imagedir/$basename.mp$i" ]; do [ -n "$i" ] || i=0 i=$(($i + 1)) done mountpoint="$imagedir/$basename.mp$i" else mountpoint="$imagedir/$basename" fi fi mountpoint="$(abspath "$mountpoint")" mkdir -p "$mountpoint" || die is_root && sudo= || sudo=sudo if [ "$action" == "auto" ]; then if mount | grep -q "$mountpoint"; then action=umount else action=mount fi fi if [ "$action" == "umount" ]; then if $sudo umount "$mountpoint"; then echo "Volume démonté avec succès" rmdir "$mountpoint" 2>/dev/null exit 0 fi elif [ "$action" == "mount" ]; then if $sudo mount -o loop "$image" "$mountpoint"; then echo "Volume monté avec succès sur $(ppath "$mountpoint")" exit 0 fi fi