- - PR -
usageとは?
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-12-29 11:28
いつもお世話になります。Kシェルを使用しています。
他人の書いたシェルスクリプトを保守することになりました。 参考書に載ってない&WEBでも見つけきれないので質問させて いただきます。 ファイルのヘッダー #!/bin/ksh USAGE="usage:abc.sh" ←これの意味が知りたいです どうやら現在編集してるファイル名がそのまま入ってるようです。 なくても処理自体に影響はなさそうなのですが、書くべきなのか そうでないのか迷っています。「このファイルの名前はこれです」 的な使い方っぽいですねー。 書いたほうがいいのか、「USAGE=」にどのような意味があるのかを ご存知の方がいらっしゃいましたらよろしくご教示願います。 | ||||
|
投稿日時: 2005-12-29 12:02
「使い方」では?
提示されている例だと「引数なしで実行するスクリプト」ということをあらわしているのではないかと思う。 Usage: abc.sh <inputfile> なら「このスクリプトには入力ファイルをひとつ与えて使え」とか、そういう意味で書いているのではないかな。 | ||||
|
投稿日時: 2005-12-29 12:04
Usageとは「使用方法」です。
そのshの場合、sh名そのままってことは オプションも何も必要ないのでしょう。
私のlinux環境でwhich引数なしで実行するとこんな感じに。 Usageありますよね。 | ||||
|
投稿日時: 2005-12-29 13:03
お二方のご返答に感謝します。
なるほどー。お二人からいただいた情報を元にすると、 自分以外の誰かが修正するかも知れないファイルには 書かないとわかりにくくなってしまうわけですね? Usage自体には何かを処理するとかそういう機能は特に なくて、見てわかるように書いておくみたいな感じで 理解しても誤解じゃないですよね? | ||||
|
投稿日時: 2006-01-06 13:25
usageという単語が使われるケースの説明に関しては すでに触れられてる通りなんですが、 上記の記載に関しては、 「USAGEという変数に"usage:abc.sh"という文字列を格納する」 という意味になります。 そのスクリプトのどこかに、 「何かしらかの条件(*)にマッチした場合に変数USAGEの内容をechoする」 みたいな処理が含まれてるかと思います。 (*)は、そのスクリプトの間違った使い方をした場合であり、 すでにあげられてるwhichの例だと、引数必須なコマンドだから、引数が 与えられなかったときにUsageが表示されてる、みたいな感じです。 _________________ Mattun Microsoft MVP for Directory Services (Oct 2006-Sep 2007) | ||||
|
投稿日時: 2006-01-06 19:14
Mattunさん、ご返答ありがとうございます。
確かにechoで返してる部分がありました。 ユーザーに注意を促すエラー処理だったのですね。 ちゃんと確認すれば変数に格納してることは わかりそうなのに、おっちょこちょいですみません。 ありがとうございました。 |
1