我撰寫了一個 bash 腳本來幫助我完成幾個 Web 應用程式的構建程序。有不同的構建模式,所以我嘗試使用標志(getopts)來實作它
開發=假;
clean_dest=false;
全部=假;
而 getopts c:clean-dest:a:all:d:dev:t:target: 標志
做
案例“${flags}”在
d) 開發=真;;
開發)開發=真;;
c) clean_dest=true;;
清潔目標)清潔目標=真;;
a) 全部=真;;
all) all=true;;
t) 目標=${OPTARG};;
目標) 目標=${OPTARG};;
esac
完畢
如果我用 -d -t "someTarget" 呼叫它,它可以作業,但是當我用 -c -a -d -t "someTarget" 呼叫它時,它不會考慮 '-c' 和 '-a'。
如果我交換while另一個標志組合中的引數順序會中斷。
我究竟做錯了什么?
我提前表示感謝。
uj5u.com熱心網友回復:
通過堅持getopts的語法解決;我不得不將while線路更改為
while getopts cadt: flags.
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/328572.html
上一篇:Linux腳本持久化環境變數
