Dans le code ci-dessous lorsque je donne une option, r
il getopts
faut alors un argument:
while getopts ":hr::l:" opt; do
case $opt in
r ) echo "Run Numbers - argument = $OPTARG " ;;
l ) echo "Latency range - argument = $OPTARG" ;;
h ) helptext
graceful_exit ;;
* ) usage
clean_up
exit 1
esac
done
Mais je dois passer deux arguments après l' -r
option, au lieu d'un. Y a-t-il un moyen facile de faire ceci?
la source
mount
.array=(${OPTARG//,/ })
. Encore une autre possibilité consiste à simplement utiliser l'-r arg
option plusieurs fois à chaque fois en ajoutant un élément à un tableauarray+=($OPTARG)
.IFS=',' array=($OPTARG)
pgrep
utilise la virguleps -s 123,456 ...
:, grep utilise la répétition de l'option:grep -e pattern1 -e pattern2 ...
(-e
est facultative lorsqu'un seul modèle est utilisé).,
semble raisonnable, voire préférable à l'utilisation d'un espace.