2016-01-02 575 views
6

私はシェルスクリプトには新しく、独立して学びました。usage()のスクリプトをたくさん見ています。たとえば、次のような機能のようなものがusage呼ばれるべきシェルスクリプトのusage()とは何ですか?

usage() 
{ 
echo "Usage: $0 filename" 
exit 1 
} 

?そして、「使用説明書」との関係はありますか?私はこのための基本的な定義を見つけることができませんでした...

+0

'usage()'の詳細については 'heredoc'を参照してください:[** Here Documents - The Linux Documentation Project **](http://tldp.org/LDP/abs/html /here-docs.html)。これは、 'usage()'がスクリプトの詳細情報とオプションのリストとそれぞれの説明を与えるときにあなたが見つけたものです。多数の 'echo'や' printf'文を次々と使用することを防ぎます... –

答えて

13

それはちょうど慣例です。コマンドラインで指定された値に何か問題があった場合、多くの場合、usage()という関数を使用して、問題/予想される値を伝えます。例:

+0

おかげさまでお手伝いします – user1508682

+0

また、コンベンション:help( '-h、--help')時にstdout要求されます。それ以外の場合はstderr(&2)に使用法を出力します。 – rubicks

+1

"();"与えられた例ではPOSIXのようには見えません。 –

3

プログラムに送信された引数をチェックすると、コマンドに失敗したことをユーザーに通知する必要があります。

たとえば、プログラムがmyprogram filenameで呼び出されると思われる場合は、パラメータが1つ以上の場合はusageを呼び出します。

usageという内容のコード内のいくつかの場所に同じメッセージを表示する代わりに、1つの機能だけを実行することをお勧めします。

関連する問題