В ниже код , когда я даю вариант , r
то getopts
требуется один аргументы:
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
Но мне нужно передать два аргумента после -r
опции, а не один. Есть простой способ сделать это?
источник
mount
.array=(${OPTARG//,/ })
. Еще одна возможность - просто использовать-r arg
опцию многократно каждый раз, добавляя элемент в массивarray+=($OPTARG)
.IFS=',' array=($OPTARG)
pgrep
использует запятую:,ps -s 123,456 ...
grep использует повторение опции:grep -e pattern1 -e pattern2 ...
(-e
необязательно, когда используется только один шаблон).,
кажется разумным, даже предпочтительнее использования пространства.