Dalam kode di bawah ini ketika saya memberikan opsi r
maka getopts
memerlukan satu argumen:
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
Tapi saya harus memberikan dua argumen setelah -r
opsi, bukan satu. Apakah ada cara mudah untuk melakukan ini?
sumber
mount
.array=(${OPTARG//,/ })
. Namun kemungkinan lain adalah dengan hanya menggunakan-r arg
opsi beberapa kali setiap kali menambahkan elemen ke arrayarray+=($OPTARG)
.IFS=',' array=($OPTARG)
pgrep
menggunakan komaps -s 123,456 ...
:, grep menggunakan mengulangi opsi:grep -e pattern1 -e pattern2 ...
(-e
opsional jika hanya satu pola yang digunakan).,
tampaknya masuk akal, bahkan lebih disukai daripada penggunaan ruang.