[BASH] Comment ne pas exécuter une boucle for quand aucun fichier ne correspond ?
Description de la problématique
Soit un répertoire vide, sur lequel on effectue la commande suivante :
for i in *.xls
do
echo $i
doneLe programme va retourner :
*.xlsCe qui se révèle très problématique lors de l’exécution d’une commande dans le for.
Résolution de la problématique
La commande
shopt - s nullglobva permettre de bloquer ce comportement.
shopt - s nullglob
for i in *.xls
do
echo $i
doneLe programme va alors retourner :
Explication
nullglob est une option du Shell Bash qui modifie l’interprétation des métacaractères glob. Il va notamment, dans le cas où le modèle ne correspond à aucun fichier demandé, ne rien renvoyer au lieu de lui même.
Accueil > Linux > Développement > [BASH] Comment ne pas exécuter une boucle for quand aucun fichier ne (…)