Wenn ich im folgenden Code eine Option gebe, sind r
dann getopts
ein Argument erforderlich:
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
Aber ich muss zwei Argumente nach der -r
Option anstelle von einem übergeben. Gibt es eine einfache Möglichkeit, dies zu tun?
quelle
mount
.array=(${OPTARG//,/ })
. Eine weitere Möglichkeit besteht darin,-r arg
jedes Mal, wenn Sie einem Array ein Element hinzufügen, die Option mehrmals zu verwendenarray+=($OPTARG)
.IFS=',' array=($OPTARG)
pgrep
verwendet Komma :ps -s 123,456 ...
, grep verwendet das Wiederholen der Option:grep -e pattern1 -e pattern2 ...
(-e
ist optional, wenn nur ein Muster verwendet wird).,
scheint jedoch vernünftig, sogar der Verwendung eines Raums vorzuziehen.