2013-07-20 29 views
0

這是我在手冊中多次看到的東西,但從未完全理解語法。當允許參數爲多個值的數組時,該語法到底意味着什麼,以及它如何用於爲單個標誌/選項指定多個參數?Shell命令語法,單個選項的參數輸入數組

command_name -f par_name=par_value[,par_name=par_value...] 

我已經看到了這個提出另一種常見的方法是:

usage: command_name [-f variable_list] 

這是什麼用法在實踐中的一個例子嗎?我一直在嘗試使用和不使用逗號和括號,但似乎沒有任何工作。

+1

這與bash沒有關係 - 從shell啓動的命令的可用語法完全不受shell的使用限制。 –

回答

1
usage: command_name [-f variable_list] 

這意味着,command_namecommand_name -f variable_list有效

command_name -f par_name=par_value[,par_name=par_value...] 

這意味着:

command_name -f par_name=par_value

command_name -f par_name=par_value,par_name=par_value

command_name -f par_name=par_value,par_name=par_value,par_name=par_value

等都是有效的。

+0

謝謝!那是我需要的。主要是在爭論和逗號之間沒有空格,這就把我扔掉了。 – MasterHD

1
command_name -f par_name=par_value[,par_name=par_value...] 

這裏的括號實際上表示這些選項是可選的。實際添加這些選項時,您不要添加支架[]

所以,你可以省略,如額外的選項:

command_name -f par_name=par_value 

或者使用它:

command_name -f par_name=par_value,par_name=par_value 

甚至更​​多。

0

這不是一個數組,這是一種擴展的BNF,其中方形框架中的參數是可選項,花括號中的參數是可重複的等等。

因此,例如,你的第二個例子中,你可以執行

command_name 

command_name -f variable_list