URL: https://linuxfr.org/forums/programmation-shell/posts/probleme-avec-getopts Title: Problème avec getopts ? Authors: Marotte ⛧ Date: 2016年07月24日T01:26:41+02:00 License: CC By-SA Tags: getopts Score: 1 Bonjour, Je rencontre un comportement que je n’arrive pas à m’expliquer. Le script est interprété par /bin/sh et utilise getopts. Lorsque je fais ceci : ```$ ./check_files.sh -d /tmp -td -x*a*``` Mon argument est bien repris (à la fin) : ```+ find /tmp/geany_socket.9912fb56 /tmp/gpg-OBxSqk /tmp/log /tmp/ssh-bfbl8kSNDM8o /tmp/systemd-private-0a769fff0c124fed8a42ec56733ade46-systemd-timesyncd.service-09Wbx1 /tmp/. /tmp/.. /tmp/.ICE-unix /tmp/.Test-unix /tmp/.X0-lock /tmp/.X11-unix /tmp/.XIM-unix /tmp/.font-unix /tmp/.xfsm-ICE-BILXKY -prune -type d ! -name *a*``` Seulement si je remplace le 'a' pour un 'i' : ```$ ./check_files.sh -d /tmp -td -x*i*``` j’obtiens ceci : ```+ find /tmp/geany_socket.9912fb56 /tmp/gpg-OBxSqk /tmp/log /tmp/ssh-bfbl8kSNDM8o /tmp/systemd-private-0a769fff0c124fed8a42ec56733ade46-systemd-timesyncd.service-09Wbx1 /tmp/. /tmp/.. /tmp/.ICE-unix /tmp/.Test-unix /tmp/.X0-lock /tmp/.X11-unix /tmp/.XIM-unix /tmp/.font-unix /tmp/.xfsm-ICE-BILXKY -prune -type d ! -name check_files.sh``` pour la seule est unique raison qu’il y a un fichier contenant un 'i' dans mon répertoire courant, c’est ce nom qui est repris. J’ai bien-sûr testé avec d’autres fichiers... Je n’ai pas ce problème si je n’ai qu’un '*', mais je voudrais pouvoir aussi chercher une chaîne en milieu de nom, ce qui est tout à fait faisable avec find. J’ai essayé en utilisant des guillemets simples ou double mais j’ai le même comportement. Auriez-vous une explication ?