kubectl
例として調べました。
kubectl run --image nginx ...
そして
kubectl run --image=nginx ...
どちらも有効です。
一般に、コマンドラインプログラムの場合、オプション名と値の間に等号が許可されるか必要なのかについての規則はありますか?
ベストアンサー1
一般に、コマンドライン引数を解釈する方法の実装は、完全にプログラマの裁量に依存します。
言い換えれば、多くの場合、「長い」オプションの値(インポートなど)はオプション名と値の間(つまり)で指定されます--option_name
が、単一文字オプションの場合、フラグと値をスペースで区切るのがより一般的です。または、区切り文字をまったく使用しないでください。=
--option_name=value
-o value
-oValue
GNU日付ユーティリティのマニュアルページの例:
-d, --date=STRING display time described by STRING, not 'now'
-f, --file=DATEFILE like --date; once for each line of DATEFILE
-d
見てわかるように、「短い」形式(例:)を使用している場合、値はオプションswitchでスペースで区切られ、「長い」形式(例:)を使用すると値=
はスペースで--date
区切られます。
編集する
スティーブンキットが指摘したように、GNUコーディング標準コマンドラインオプションを使用getopt
して解析することをお勧めします。getopt_long
マニュアルページの状態getopt_long
:
--arg=param
長いオプションは、または形式の引数を使用できます--arg param
。
したがって、この機能を使用するプログラムは両方の形式を受け入れます。