|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : août 2007 Messages : 1 ![]() |
Hello !
J'ai un p'tit problème avec l'utilisation de la fonction getopts ... En gros, ça se passe comme ça: 1/ Dans le script principal, il y a entre autres : (...) FPATH="./scripts/" typeset -fu Fonction1 typeset -fu Fonction2 (..) # Une première boucle sur les arguments while getopts a:b:c: opt; do case (...) esac; done (...) Fonction1 -d <Arg1> -e <Arg2> -f <Arg3> (...) 2/ Dans le script Fonction1 OPTIND=1 # Une autre boucle sur les arguments while getopts d:e:f: opt; do case (...) esac; done (...) Fonction2 -g <Arg1> -h <Arg2> -i <Arg3> 3/ Dans le script Fonction2 OPTIND=1 # Une autre boucle sur les arguments while getopts g:h:i: opt; do case (...) esac; done (...) > Et c'est là qu'apparait le problème ... les identifiants (a,b,c, ...) ne sont pas forcément les mêmes, l'index OPTIND est bien remis à 1 avant chaque boucle sur getopts ... Mais dans la deuxième fonction, j'ai systématiquement des erreurs du style :Sh Unknown option -d, alors que je n'utilise pas le -d. Si j'essaie de faire passer le premier argument, par exemple, avec l'option -d en modifiant tout ce qu'il faut pour ça, je me rends compte en l'affichant que l'argument pris en compte est celui de l'appel d'au-dessus (ie celui donné lors de l'appel de Fonction1, pas de Fonction2). Qu'est-ce qui se passe ? On dirait que getopts ne prend pas en compte le bon appel ...
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com