Quantcast
Channel: Bashタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 2870

bashのinvert変数の使われ方(メモ)

$
0
0
bashのexecute_command_internal関数のなかのinvert変数の使いみちが気になったので、調べてみたら、set -e に関連していることがわかった。 bashでset -eを実行すると、スクリプトの処理中にエラーが起きるとすぐに終了させることができる。 例えば、 $ for i in $(seq 10); do saiko; done とすると、エラーが10回表示されるが、 $ set -e $ for i in $(seq 10); do saiko; done とするとbashは処理に失敗してすぐに終了する。 調べてみたところ、set -e は処理がわかりにくいので推奨されていないらしく、 実際はtrapを使ったほうが良いらしい。 具体的には $ trap "何かしらの処理" ERR のようにすると、エラー時にコールバックを設定できる。 set -e と同じことをしたかったら、 $ trap "exit 0" ERR $ for i in $(seq 10); do saiko; done とすれば、返り値0ですぐに終了する。 話がそれたが、execute_command_internal(execute_cmd.c)のinvert変数は、このあたりに関係していると思う。

Viewing all articles
Browse latest Browse all 2870

Trending Articles