Closed6
Bashの戻り値によって後続の処理を変更する
参考
man bash
戻り値(終了コード)とは
- コマンド実行後に返却される値
- 一般的に0なら正常終了、それ以外なら失敗とされる
- コマンドごとの終了コードはそのリファレンスを参照
-
$?
変数を確認することで、最後に実行されたコマンドの終了コードを確認できる -
man bash
のEXIT STATUS
の頁に記載されている
見てみる
test.txt
をcatします。testt.txt
は存在しません。
~/tmp$ cat test.txt
test
~/tmp$ echo $?
0
~/tmp$ cat testt.txt
cat: testt.txt: No such file or directory
~/tmp$ echo $?
1
①終了コード0か1かで処理を変えるスクリプト
cat
コマンドの終了コードによって処理を変更する
#!/bin/bash
FILE="/path/to/your/file"
cat "$FILE"
retval=$?
if [ $retval -eq 0 ]
then
echo "成功しました!"
else
echo "失敗しました…"
fi
②終了コード1のみ処理を変えるスクリプト
0だとif内の処理は実行しません。
エラー処理に便利
#!/bin/bash
FILE="/path/to/your/file"
cat "$FILE"
retval=$?
if [ $retval -ne 0 ]; then
echo "失敗しました!"
fi
このスクラップは2023/07/25にクローズされました