変数 $? を利用する方法 $? 直前に実行されたコマンドのステータス(終了フラグ)を表します。これを使って実行されたコマンドが正しく終了したかどうか判定します。 連載 シェルスクリプト・ステップ・バイ・ステップ 第5回 シェルの変数に慣れる #!/bin/bash function my_command() { # 処理 return 1 } my_command if [ $? -gt 0 ]; then # エラー処理 fi いままで上記のようにコマンドを実行した後の $? の値を見て分岐させていた。 機能としては十分なのだが、もっとスッキリした書き方がある。 OR演算子 || を利用する方法 コマンドの戻り値を直接利用する。論理積でコマンドを繋いでいく方法と同じやり方。
![シェルスクリプトでエラー時の処理を行う方法 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/f0bf51f961db656191e60e6fc74231fe3b173ad9/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUUzJTgyJUI3JUUzJTgyJUE3JUUzJTgzJUFCJUUzJTgyJUI5JUUzJTgyJUFGJUUzJTgzJUFBJUUzJTgzJTk3JUUzJTgzJTg4JUUzJTgxJUE3JUUzJTgyJUE4JUUzJTgzJUE5JUUzJTgzJUJDJUU2JTk5JTgyJUUzJTgxJUFFJUU1JTg3JUE2JUU3JTkwJTg2JUUzJTgyJTkyJUU4JUExJThDJUUzJTgxJTg2JUU2JTk2JUI5JUU2JUIzJTk1JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0xMjQ1YzE5YTY2NmFhOTgzYmU3NTc5NDRhMDZhN2E0MQ%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwc2gxOTkxMDcxMSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ODA5M2UyOTJjY2YwODBlYjA0ZDc0MzkxNzdhOTE0ZjU%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D8d76519eca3139652ef277bc3d0dd7fa)