Ton shell check_files.sh fait une interprétation des paramètres que tu lui passes : Quand tu écris -x*a* tu n'as aucun fichier qui matche donc il récupère *a* et quand il le ré-interprète il n'y a aucun fichier qui matche *a* et donc il utilise *a*.
Quand tu écris -x*i* tu n'as aucun fichier qui matche donc il récupère *i*, malheureusement quand il le ré-interprète il y a check_files.sh qui matche, donc il remplace par ce nom.
La seule solution c'est l'utilisation des '\' (et de l'aspirine...)
# Utiliser des '\'
Posté par Christophe Discours (site web personnel) . En réponse au message Problème avec getopts ?. Évalué à 2.
Ton shell check_files.sh fait une interprétation des paramètres que tu lui passes : Quand tu écris -x*a* tu n'as aucun fichier qui matche donc il récupère *a* et quand il le ré-interprète il n'y a aucun fichier qui matche *a* et donc il utilise *a*.
Quand tu écris -x*i* tu n'as aucun fichier qui matche donc il récupère *i*, malheureusement quand il le ré-interprète il y a check_files.sh qui matche, donc il remplace par ce nom.
La seule solution c'est l'utilisation des '\' (et de l'aspirine...)
Un petit exemple :
Ce n'est pas du tout ce que je veux : il m'affiche tous les fichiers qui commencent par 'a' dans mon répertoire principal.
C'est ce que je voulais...
Sinon l'autre solution c'est d'utiliser l'option noglob...