2007年4月20日金曜日

bashコマンドオプション

シェルスクリプトを見ていたら、bash -eという記述があった。manで調べてもオプションには見つからない。試しにhelpオプションを実行してみたら、その中にも存在しないが、別のhelpがあるようだ。

$ bash --help
GNU bash, version 3.1.17(1)-release-(i486-pc-linux-gnu)
(省略)
Type `bash -c "help set"' for more information about shell options.
Type `bash -c help' for more information about shell builtin commands.

で、bash -c "helpset"を実行してみた。
set: set [--abefhkmnptuvxBCHP] [-o option] [arg ...]
         -a Mark variables which are modified or created for export.
        -b Notify of job termination immediately.
        -e Exit immediately if a command exits with a non-zero status.
        -f Disable file name generation (globbing).
        -h Remember the location of commands as they are looked up. (省略)
これによると、-eはコマンドが失敗した場合はすぐ終了するというオプションであった。
先頭の行をみると、bashのsetという組み込みコマンドのオプションの説明であるようだ。もう一回manをみてみると、確かにオプションのところに書いてあった。
bash は以下のオプションを起動時に解釈します (組み込みコマンド set の説明で述べられている 1 文字のシェルオプションも使えます):

ということで、bashの起動オプションを調べるには、setの項も見る必要がある。ちなみにsetはbashのめちゃめちゃ長いmanの中でもかなり下の方にある。なので、JM Projectを活用してブラウザで見るか、先の「bash -c "help set"」を使用したほうが見やすい。

■ 参考資料

Manpage of BASH

0 件のコメント: