メイン画像

CSH - スクリプトでエラーが起きたときの動きを確かめる

CSH - スクリプトでエラーが起きたときの動きを確かめる


Cシェルのスクリプトでエラーが起きた場合、どのような挙動になるか確かめる。

テストに使うスクリプトは以下の2本。

test1.csh

シェル変数 my_variablemy_variable2 を標準出力に出力するスクリプト。
ただしどちらのシェル変数も存在しないのでエラーになる。

#!/bin/csh
echo ${my_variable}
echo ${my_variable2}

test2.csh

test1.csh を呼び出し、その結果を標準出力に出力するスクリプト。

#!/bin/csh
csh test1.csh
echo ${status}

test1.csh を実行した場合

存在しないシェル変数にアクセスした時点でスクリプトは終了する。

iwate::iwaux24-vm1> csh ./test1.csh
my_variable: Undefined variable

test2.csh を実行した場合

呼び出したスクリプト(test1.csh)内でエラーになり、そのスクリプトは終了する。
制御は呼び出し元(test2.csh)に移った。

すべてのスクリプトが異常終了とはならないようである。

iwate::iwaux24-vm1> csh ./test2.csh
my_variable: Undefined variable        # ←呼び出し先(test1.csh)のエラー
1                                      # ←呼び出し元(test2.csh)の処理で、test1.csh の結果を出力している

アカウントを作成 して、もっと沢山の記事を読みませんか?


この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。


この記事にコメントをしてみませんか?


酒とアクアリウムが最近の楽しみ。

おすすめの記事