2017-10-12 6 views
2

ブーリアンフラグのcmd構文について、golangの公式マニュアルから説明を少し詳しく説明してください。ゴランブールフラグの解析制限

1つまたは2つのマイナス記号を使用できます。彼らは同等です。最後の形式 は、0偽と呼ばれるファイル、などあなたが を使用する必要がありますがある場合は、コマンドの意味が

cmd -x * 

変更されますので、ブールフラグに許可されていませんブール値フラグをオフにするには、-flag = false形式を使用します。

私はポイントを取得しません。それを説明したり、例を挙げたりできますか?

+0

'ls *'の場合はどうなりますか? 'false'、' cmd -x * '==>' cmd -x false'というファイルがある場合、 '*'はシェルのワイルドカードです – zzn

答えて

6

cmd -x *をシェルで実行すると、シェルは*を現在のディレクトリ内のすべてのファイルのリストに展開しようとします。現在のディレクトリに「0」または「false」というファイルが1つだけ含まれている場合、シェルはそれぞれcmd -x 0またはcmd -x falseを実行します。

cmd -x falsecmd -x=true false(位置引数が「偽」で)、またはcmd -x=falseとして理解されることを意図されているかどうかは不明です。したがって、フラグパッケージでは、等号を必要とすることで明示的に設定する必要があります。

関連する問題