我有應該運行的這兩個中的任何一個腳本:殼牌getops爲搶奪參數
script.sh -t TYPE
script.sh -t TYPE -f FILE
- 如果沒有-t標誌我希望它錯誤並退出運行。
- 如果運行了-t標誌我想抓住的價值,如果它與-f標誌我運行它存儲在名爲「$ TYPE」和打印「JUST $ TYPE」
- 一個 變量想把它搶值,並將其存儲在一個名爲 「$ FILE」,並打印「$ TYPE和$ FILE」
從信息和教程都在這裏和互聯網一般變量,這是最接近我能得到。任何人都可以幫我把第二個條件放到這個現有的代碼中嗎?
while getopts ":t:" opt; do
case $opt in
a)
echo "JUST $OPTARG" >&2
;;
\?)
echo "Error - Invalid type argument" >&2
exit 1
;;
:)
echo "Error - No type argument" >&2
exit 1
;;
esac
done
非常感謝你的幫助。這是否也適用於#!/ bin/sh? – Jimmy
我不知道'/ bin/sh'後面有什麼shell,但是我會嘗試它。 – user1146332
嚴格來說,沒有。不過,有一個外部程序'getopt',可以用來處理選項,如果你的shell不支持'getopts'命令的話。 – chepner