如何在Bash中解析命令行參數?說,我有一個用這行調用的腳本:./myscript -vfd ./foo/bar/someFile -o /fizz/someOtherFile或者這個:./myscript -v -f -d -o /fizz/someOtherFile ./foo/bar/someFile什么是分析這使得在每一種情況下(或兩者的組合)的接受的方式$v,$f以及 $d將全部設置為true和$outFile將等于/fizz/someOtherFile?
4 回答

牧羊人nacy
TA貢獻1862條經驗 獲得超7個贊
getopt()
/ getopts()
是一個不錯的選擇。從這里偷來的:
這個迷你腳本中顯示了“getopt”的簡單使用:
#!/bin/bashecho "Before getopt"for ido echo $idoneargs=`getopt abc:d $*`set -- $args echo "After getopt"for ido echo "-->$i"done
我們所說的是允許使用-a,-b,-c或-d中的任何一個,但是-c后跟一個參數(“c:”表示)。
如果我們稱之為“g”并試一試:
bash-2.05a$ ./g -abc fooBefore getopt-abc fooAfter getopt-->-a-->-b-->-c-->foo-->--
我們從兩個參數開始,“getopt”拆分選項并將每個選項放在自己的參數中。它還添加了“ - ”。
添加回答
舉報
0/150
提交
取消