1
我解析命令行選項典型的設置是:測試是否有一個參數
CONF=""
INPUT=""
while getopts ":c:i:" FLAG; do
case $FLAG in
i) INPUT=$OPTARG;;
c) CONF=$OPTARG;;
\?) echo -e "\nInvalid option: -$OPTARG"
usage;;
:) echo -e "Option -$OPTARG requires an argument."
usage;;
esac
done
if [ "$#" -eq 0 ]; then
usage
fi
我正在尋找一種方式,提供了一種有效的標誌時趕上,但沒有理由是 - 例如:
./Script.sh -c -i
返回usage
。我的印象是,這條線下:
:) echo -e "Option -$OPTARG requires an argument."
運行該腳本如上使用標誌不帶參數時,這樣處理然而,使用功能不點火,也不是回聲。
我在做什麼錯?
啊是的 - 當然。我猜這可能不容易嗎? – AnnaSchumann
您可以通過檢查OPTARG *與另一個現有標誌匹配來解決該問題,但我擔心'getopts'本身不提供此功能。 – bagage