You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 lines
1.2 KiB

#!/usr/bin/env bash
set -eu
FORCE=0
LIST=""
synopsis() {
cat << EOF
Usage : `basename $0` [-h] [-f] system...
EOF
}
help() {
cat << EOF
`basename $0` supprime les disques associés au(x) système(s).
`synopsis`
Les disques HDA, HDB et CDROM du système présents dans le répertoire "files"
sont supprimés.
-h : affiche cette aide
-f : force : pas de demande de confirmation !
EOF
}
usage() {
synopsis
exit 1
}
args() {
local opt
while getopts "hf" opt; do
case $opt in
h) help; exit 0;;
f) FORCE=1;;
?) usage;;
esac
done
shift $(($OPTIND - 1))
[ $# -lt 1 ] && usage
for i; do
GUEST_NAME="$i"
if echo $GUEST_NAME | grep -q '/'; then
error "$GUEST_NAME est un nom de système invalide"
fi
HDA=""; HDB=""; CDROM=""
loadGuestVars $GUEST_NAME
LIST="$LIST $HDA $HDB $CDROM"
done
}
deleteDisks() {
for b in $LIST; do
#b=$(basename $i)
if [ -e $VDN_PATH/files/$b ]; then
echo "Suppression de $VDN_PATH/files/$b"
if [ $FORCE = 1 ]; then
rm -f $VDN_PATH/files/$b
else
rm -i $VDN_PATH/files/$b
fi
fi
done
}
# Programme principal
GUEST_OWNER=$USER
VDN_PATH=$(readlink -f $(dirname $0)/..); . $VDN_PATH/bin/functions.sh
args "$@"
deleteDisks