在bash中使用的getopt通常的例子是遵循
args=`getopt abo: $*`
errcode=$?
set -- $args
是什麼最後一行實現?
在bash中使用的getopt通常的例子是遵循
args=`getopt abo: $*`
errcode=$?
set -- $args
是什麼最後一行實現?
解釋得很好。本質上,它是打破與多個標誌一個參數爲多個參數每個單標誌:
無論你打電話給你的腳本
script -ab
或
的set -- $args
後
script -a -b
, $1
將是-a
和$2
將是-b
。它使處理更容易。
BTW,getopts
好得多
set
更新腳本的位置參數。
#! /bin/bash
echo "$*"
set -- $1 baz
echo "$*"
如果此腳本與/path/to/script foo bar
調用,輸出爲:
foo bar
foo baz
令我困惑的事情之一是'--'用於使所有參數被使用後更新位置參數,而不是解釋爲設置命令本身的參數。 – LopSae
這是一個非常,非常糟糕的主意 - 人誰做這種情況正在改變'$ ./yourprog 「一些file.txt的」''到「$ ./yourprog 」一些「 「file.txt」'。參見相反http://mywiki.wooledge.org/BashFAQ/035 –