已經使用getopt一段時間了。我正在研究一個選項有兩個引數值的可能性。這很好嗎,可以用getopt. 一個例子會有所幫助。
做了一些測驗,發現這樣做
myfunc -S 13 21
給
opts: -S '13' -- '21'
在哪里
opts=$( getopt -o "$shortopts" -l "$longopts" -n "${0##*/}" -- "$@" )
因此 getopt 無法接受myfunc -S 13 21.
uj5u.com熱心網友回復:
看這里在 Bash 中使用 getopts 檢索單個選項的多個引數
基本上說你可以在命令列中多次添加一個選項,如下所示:
myscript.sh -x value1 -x value2
當你回圈選項時,你可以在每次getopt遇到該選項時附加它。下面是一個例子:
#!/bin/bash
$XVALUE
while getopts "x:" arg; do
case $arg in
x)
XVALUE="$XVALUE$OPTARG"
;;
esac
done
echo "Values: $XVALUE"
# ./myscript -x a -x b
# Values: ab
uj5u.com熱心網友回復:
我是這樣處理事情的
while (( $# > 0 )); do
case $1 in
("-S"|"--seam")
[[ "$2" = ([[:digit:]]) ]] && { sp="$2" ; shift ; }
[[ "$2" = ([[:digit:]]) ]] && { sq="$2" ; shift ; }
;;
esac
done
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/358069.html
上一篇:(Git)Bash可編程完成短“-...”和長“--...”選項
下一篇:如何在bash終端中申請回圈
