2012-08-02 137 views
2

在bash:I輸入的命令:爲什麼getopt在我的mac os中無法正常工作?

getopt -l name,data -- --namd 

並且輸出是

-- name,pp -- --namd 

輸入:

getopt -l name,data -- --name 

輸出ALSE

-- name,pp -- --name 

爲什麼它多申當我輸入getopt -l name,data -- --namd時,不會告訴我錯誤嗎?

+1

啊我的大腦傷害閱讀未格式化的代碼... – 2012-08-02 12:45:16

+0

你可能也想看看'getopts'內置命令,這通常更容易處理。至少,我是這麼認爲的。 – larsks 2012-08-02 12:53:06

+0

謝謝@ H2CO3,我是這裏的新手~~~~~ – qiushuitian 2012-08-02 14:09:01

回答

4

問題是,在mac上,getopt是基於BSD的getopt,而不是基於gnu的getopt。

它不理解長選項。這並不是說它「效果不好」,而是因爲它不是按照你的要求設計的。

+0

謝謝。但是如果我想處理多頭選項,我該怎麼辦?我必須自己分析參數嗎? – qiushuitian 2012-08-03 03:27:55

+0

你可以從macports安裝gnu getopt - http://stackoverflow.com/questions/402377/using-getopts-in-bash-shell-script-to-get-long-and-short-command-line-options – Petesh 2012-08-03 07:33:28

+0

謝謝你非常感謝! – qiushuitian 2012-08-08 03:45:06

相關問題