2017-10-12 73 views
2

有人可以詳細解釋官方golang文檔中有關布爾標誌的cmd語法的解釋。Golang布爾標誌解析限制

可以使用一個或兩個減號;它們是等價的。最後一種形式 不允許布爾標誌,因爲該命令的意義,如果有一個名爲0,假文件等您必須使用

cmd -x * 

將改變-flag =假表格來關閉布爾標誌。

我不明白這一點。你能解釋一下還是舉個例子?

+0

如果你'ls *'會發生什麼?如果有一個名爲'false'的文件,'cmd -x *'==>'cmd -x false','*'是shell的通配符 – zzn

回答

6

如果在shell中運行cmd -x *,shell將嘗試將*擴展到當前目錄中所有文件的列表中。如果當前目錄只包含一個名爲「0」或「false」的文件,則shell將分別執行cmd -x 0cmd -x false

目前還不清楚cmd -x false是否應該被理解爲cmd -x=true false(「false」是一個位置參數)或cmd -x=false。所以標誌包迫使你通過要求等號來明確它。