Salut j'ai une question fondamentale, mais je n'ai pas pu trouver une bonne réponseGetopts même drapeau deux fois
J'ai ce code:
while getopts :weco:r:u:hP: ARG; do
case $ARG in
.
.
.
h) #set option "h" - show help;
help
;;
P) #set option "P" - select Printer;
PRINTER=$OPTARG
;;
\?) #unrecognized option - show help
echo -e \\n"Option not recognized."
help
;;
esac
done
Et maintenant je veux utiliser « -P "deux fois, si vous utilisez" -P PRINTER ", il utilise l'imprimante donnée, mais si vous utilisez simplement" -P ", il utilise une valeur par défaut lue dans un fichier.
Puis-je gérer comme ça? Désolé si c'est la bonne réponse, je ne peux pas le tester dès maintenant.
while getopts :weco:r:u:hP:P ARG; do
case $ARG in
.
.
.
h) #set option "h" - show help;
help
;;
P) #set option to use default
PRINTER=BLAFOO
P) #set option "P" - select Printer;
PRINTER=$OPTARG
;;
\?) #unrecognized option - show help
echo -e \\n"Option not recognized."
help
;;
esac
done
Je pense que cette réponse vous aidera à https://stackoverflow.com/a/21709328/2088135 - vous pouvez définir la valeur par défaut, soit avant la boucle 'getopts' ou à l'intérieur du bloc' de if'. –