10270


Go言語でコマンドラインツールを書いているのですが、  
一つ分からないことがあります。

コマンドのオプションに--helpを渡された場合、  
コマンドの使い方のみ表示して終了するのが普通だと思いますが、  
その際の終了コードはどのようにすべきでしょうか？

GitHub上にあるいくつかのコマンドラインツールを試してみると、  
peco、ghq、hubなどの終了コードは0、  
jvgrep、gocode、hkなどの終了コードは2となっており、  
0と2、どちらにすべきか分かりませんでした。


CC BY-SA 3.0
2015-05-16T13:14:56.593
10261
2015-05-17T01:09:00.173
2015-05-16T16:11:05.620
9758
9758
question
command-line
helpを表示する際の終了コードはどのようにすべきか


そのコマンドが--
helpというオプションを定義しているなら、指示されたオプション(ヘルプを表示する)を正しく実行したということで0にすべきだし、—-helpというオプションを定義しているわけではなくて、不正オプションが指示された場合helpメッセージを表示する仕様にしているなら、  
指示が誤っているということで2にすればよいと思います。

全てを調べたわけではありませんが、例えばpecoコマンドは--helpオプションがあることが説明されていますし、jvgrepコマンドは--
helpオプションがあるとは書かれていません。


CC BY-SA 3.0
2015-05-17T01:09:00.173
10270
2015-05-17T01:09:00.173
9367
10261
answer