2013-11-20 46 views
2

我猜測建議單個破折號用於單個字符選項,而雙破折號用於長選項(主要是因爲單詞可能有破折號)。但是我看到了單詞選項僅以單個短劃線作爲前綴的情況。* nix命令行程序中的長選項的單破折號與雙破折號 - 最佳實踐?

有單一短劃線長選項有意義的情況嗎?

+0

如果您投下,請解釋原因。 –

+0

這個問題似乎是脫離主題,因爲它不是一個編程問題 –

+2

@JasonGoemaat對我來說似乎是一個編程問題 - 如果你在設計命令行工具,你應該使用單或雙破折號來選擇長選項嗎?這正是我在這裏帶來的情況 - 我發現這個問題和答案非常有用。 –

回答

9

傳統上,短期期權可以合併爲一個參數;以下是等價的:

program -a -b -c 
program -abc 

如果允許單短線長的選項,可以運行不確定性的風險:

# One long option -cat, or 3 short options -c, -a ,-t? 
program -cat 

雙重破折號是用來表示下列字符全部形成相同的選項名稱:

program -cat --cat # 4 options: -c, -a, -t, --cat 
+0

我沒有想到這一點。很好的解釋。謝謝。 –

+0

似乎BSD風格只使用短期選項,而GNU支持短期和長期。 –