[code]#!/bin/bash
#################
ScriptName : rmedir (remove empty dirs)
#################
var
##########################
scriptBaseName=$(basename $0)
barre="\n#printf '=%.0s' {1..62}
\n"
##########################
help msg
##########################
if [[ $LANG = fr* ]]; then # if french LANG locale.
invalid_opt=“Option non valide.“
help_msg=”${barre}”${scriptBaseName}" permet de supprimer récursivement les répertoires vides\n
\t contenus dans le répertoire de départ.\n
\n
Syntaxe : $scriptBaseName OPTION [chemin du répertoire de départ]\n
\n
Note: Si aucun répertoire de départ n’est donné,\n
\t le répertoire courant ("$PWD") sera utilisé.\n
\n
Options: \n
-h \t - Affiche ce fichier d’aide.\n
-v \t - Mode verbeux.\n
-i \t - Demande de confirmation avant chaque suppression."
else # all other languages => en.
invalid_opt=“Invalid Option.“
help_msg=”${barre}”${scriptBaseName}" recursively removes empty folders from the start path.\n
\n
Syntax : $scriptBaseName OPTION [START PATH]\n
\n
Note: If no start path is given,\n
\t the current path ("$PWD") will be used.\n
\n
Options:\n
-h \t - Displays this help file.\n
-v \t - Verbose mode.\n
-i \t - Ask for confirmation for each empty folder deletion.“
fi
help_msg=”${help_msg}${barre}"
##################################
getopts “:hvi” option
case $option in
h)
echo -e $help_msg # Display help message.
exit
;;
v)
cmd_supress="-exec rmdir -v" # Verbose mode.
;;
i)
cmd_supress="-ok rmdir" # Ask for confirm before deletion.
;;
?)
echo -e “$OPTARG : $invalid_opt” # Invalid option.
exit 1
;;
esac
shift $((OPTIND-1))
##################################
find $1 -depth -type d -empty $cmd_supress {} ;
[/code]
Très bonne doc sur getopts.
Je n’ai pas su comment (mais j’aimerai bien savoir) renvoyer “{} ;” dans la variable depuis le “case $Option”,
du coup, je l’ai mis à la suite de la variable “$cmd_supress” dans la ligne de commande.