Linux シェル,コマンドの終了ステータスを強制的に設定する

スポンサーリンク

鍛錬 107

Linux シェルスクリプト,コマンドの終了ステータスを強制的に設定する

コマンドの終了ステータス(終了コード)を強制的に設定する(操作する)には、true もしくは false を使用します。
 
使用方法は、以下に示す通りです。

終了ステータスを 0 にする

コマンドの実行後に true を実行する

 
終了ステータスを 1 にする

コマンドの実行後に false を実行する
 
スポンサーリンク

シェルスクリプト

以下は、コマンド date の終了ステータスを操作しているシェルスクリプト、set_status.sh です。

今回は、次の順序でコマンド date を実行しています。

順番 本来の終了ステータス 変更後の終了ステータス
1 回目 0 (1回目は、ステータスを変更していない)
2 回目 0 1
3 回目 1 (3回目は、ステータスを変更していない)
4 回目 1 0
#!/bin/sh

echo "--------------------------------------"

date
tmp=$?
echo "1回目の終了ステータス = $tmp"

echo "--------------------------------------"

date
false
tmp=$?
echo "2回目の終了ステータス = $tmp"

echo "--------------------------------------"

date XXXYYYZZZ
tmp=$?
echo "3回目の終了ステータス = $tmp"

echo "--------------------------------------"

date XXXYYYZZZ
true
tmp=$?
echo "4回目の終了ステータス = $tmp"

echo "--------------------------------------"

実行結果

***@ubuntu:~/***/test/shell$ 
***@ubuntu:~/***/test/shell$ ./set_status.sh
--------------------------------------
Mon May  7 22:05:33 JST 2018
1回目の終了ステータス = 0
--------------------------------------
Mon May  7 22:05:33 JST 2018
2回目の終了ステータス = 1
--------------------------------------
date: `XXXYYYZZZ' は無効な日付です
3回目の終了ステータス = 1
--------------------------------------
date: `XXXYYYZZZ' は無効な日付です
4回目の終了ステータス = 0
--------------------------------------

 
上記に示した通り、2 回目の終了ステータスは、0 になるはずが 1 に。4 回目の終了ステータスは、1 になるはずが 0 にすることができました。

スポンサーリンク

シェアする

フォローする