![CLI アプリが引数が指定されていないことを報告するための「Unix 方式」とは何ですか?](https://rvso.com/image/22258/CLI%20%E3%82%A2%E3%83%97%E3%83%AA%E3%81%8C%E5%BC%95%E6%95%B0%E3%81%8C%E6%8C%87%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8%E3%82%92%E5%A0%B1%E5%91%8A%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%80%8CUnix%20%E6%96%B9%E5%BC%8F%E3%80%8D%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
私は「Unix 方式」に従ったアプリケーションを開発しています。
引数なしで呼び出された場合(実際には意味がありません)には、何をプログラムすればよいでしょうか。
- エラーメッセージを表示する
- ヘルプを表示する、または
0
指定されたタスク (何もする必要がない) が正常に完了したとみなして、黙って終了して戻りますか?
答え1
それは、アプリケーションがどのような種類の引数を期待するかによります。ファイルを処理する場合は、引数が指定されていない場合は標準入力から読み取り、標準出力に書き込むのが一般的です (例: cat
、tee
、…)。アプリケーションに対話モードがある場合は、引数が指定されていない場合はアプリケーションを開始します (例: sh
、ed
)。アプリケーションが作業対象のオブジェクトを期待している場合は、エラー メッセージを表示し、ゼロ以外のステータスで終了します (例: cp
、rm
)。アプリケーションがコマンドを期待している場合は、使用方法メッセージを表示し、ゼロ以外のステータスで終了します (例: sed
、tar
)。
答え2
最も一般的なバリエーション:
「完全なヘルプを表示するには、app-name --help と入力してください」という句を使用して、アプリケーション ヘルプの短縮版を表示します。
クレジットとライセンスを表示します。
「エラー: 操作が指定されていません (ヘルプを表示するには -h を使用してください)」。