我有bash腳本,我希望能夠跳過(即 - 不執行)其基於調用腳本時傳遞的選項的一些命令。如何使用bash中的選項跳過部分代碼
爲了說明我想完成的任務,我寫了一個基本完成同樣事情的語句if
。
if [ "$1" != "skipA" ]
then
echo "A"
fi
if [ "$1" != "skipB" ]
then
echo "B"
fi
if [ "$1" != "skipC" ]
then
echo "C"
fi
if [ "$1" != "skipD" ]
then
echo "D"
fi
當在調用腳本沒有傳遞參數,所有四個echo
語句執行。如果我想跳過這些回聲語句之一,我用skipLETTER
作爲第一個參數:
./script.sh skipA
和除A
所有字母被打印出來。它可以工作,但它確實有很多限制 - 例如,我不能使用相同的參數跳過很多部分($1
)。我想實現的選項同樣的事情,所以我可以輸入類似:
./script -skipA -skipD
,結果只打印B
和C
字母。
我知道我可以用getopt
或getopts
來達到這個目的,但我找不到任何簡單的用法例子來達到我所描述的。
可能你可以在你的if語句中放置'continue'以跳過第一個參數..好? – MLSC