Bonjour David, David Martin, on 2020-11-26 15:40:59 +0100: > #!/bin/bash Il vaut mieux arrêter le script immédiatement si une étape finit en erreur de manière inattendue. Or ce n'est pas le comportement par défaut du shell. Pour activer ce comportement, une bonne pratique est d'activer cette option "-e" quasiment juste après le shebang : set -e Les options -v et -x sont intéressantes à utiliser au moment de rédiger le script, pour voir quand se lancent les commandes, et vérifier que les variables ont des valeurs cohérentes, respectivement. [...] > # liste des noms de répertoire à mettre à jour séparé d'un pipe :" > # > DIR="0|1|2|3|4|5|6|7|8|9|netlogon|backup|eole|mail" [...] > echo "Liste des exclusions : " > echo "$DIR" Je pense qu'à ce point du script, ce pourrait être une bonne idée de lancer : find -iname Mozilla | egrep -v "$DIR" Ça devrait vous permettre d'y voir plus clair dans ce qui va effectivement sauter, au lieu de juste voir quelle expression est utilisée pour le filtrage. En tant qu'utilisateur du script, je pense que je préfère voir ce qui va sauter, plutôt que de voir comment. Éventuellement, vous pouvez enregistrer la liste dans un fichier, avec "tee", pour la réutiliser au moment d'effacer, au lieu de relancer un "find", coûteux en opérations d'entrées et sorties, une seconde fois. > while true; do > read -p "Etes vous d'accord avec la liste d'exclusion ?" on > case $on in > [Oo]* ) echo "Suppression en cours..." ; > find -iname Mozilla | egrep -v "$DIR" | xargs rm -Rvf > delmozilla.log; ^~~~~^ Je serais à votre place, je protègerais la variable avec des double quotes, comme ci-dessus. DIR est amenée à stocker des expressions rationelles, et ce genre de contenu peut facilement être interprété par le shell d'une façon inattendue. Je ne sais pas si ça va résoudre votre problème, mais si ça peut vous aider à y voir plus clair... Plus largement, ça vaudrait le coup de voir pourquoi ce genre de ménage est nécessaire. Admettons que je sois utilisateur de vos systèmes, s'il devait y avoir une passe de cet outil dans mon dos, ça m'embêterait beaucoup de perdre mon historique. Bonne fin de journée, :) -- Étienne Mollier <etienne.mollier@mailoo.org> Fingerprint: 8f91 b227 c7d6 f2b1 948c 8236 793c f67e 8f0d 11da Sent from /dev/pts/1, please excuse my verbosity.
Attachment:
signature.asc
Description: PGP signature