- - PR -
シェルスクリプトにおけるexitやreturnのグルーピング
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-11-10 17:27
初歩的な質問かもしれませんが、
シェルスクリプトの中でexitやreturnをグルーピングするにはどうしたらいいのでしょうか? if文を省略するために以下のような文を書いたのですが、exitやreturnが反応してくれません。 関数A || (echo 'NG' ; exit 1) もしくは 関数A || (echo 'NG' ; return 1) NGと表示した後、お構いなしに次の行を実行してしまいます if文でならグルーピングする必要はないので実現は可能ですが、ゴツくなってしまうので、できれば使いたくありません。 また、なにかシェルスクリプトのルールを知らないまま使っているようで不安です。 ご存知の方、宜しくお願いします。 |
|
投稿日時: 2005-11-10 18:24
中括弧を使ってはいかがでしょう?
( ) によるグルーピングはサブシェルが作成されます。 そこで exit してもサブシェルから抜けるだけです。 例 #!/bin/sh false || { echo NG; exit 1; } false || { echo NG2; exit 1; } _________________ Landscape - エンジニアのメモ |
|
投稿日時: 2005-11-11 08:57
Landscapeさんご返答ありがとうございます。
お教え頂いた方法で上手く行きました。 リンク先も勉強になりそうです。 |
1