Linuxを使用する際、コマンドの実行結果が成功したのか失敗したのかを確認することは、日常の運用やスクリプト作成時に非常に重要です。この記事では、Linuxでコマンドの成功・失敗を確認する方法について詳しく解説します。具体的なコード例とその解説、さらには応用例を取り上げて説明していきます。
目次
基本的な確認方法
Linuxでコマンドの成功・失敗を確認する基本的な方法は、特殊変数「$?」を使用することです。この変数は、直前に実行されたコマンドの終了ステータスを保持しています。
echo $? # 直前のコマンドの終了ステータスを表示
0が表示されれば成功、それ以外の数字が表示されれば失敗を意味します。
終了ステータスの例
ls / # ルートディレクトリの内容を表示
echo $? # 終了ステータスを確認
上記の場合、`ls`コマンドが正常に終了すれば、`echo $?`の結果として0が表示されます。
応用例
1. スクリプト中での確認
スクリプトを書く際に、コマンドが成功したかどうかに応じて次の処理を分岐させることができます。
#!/bin/bash
mkdir new_directory
if [ $? -eq 0 ]; then
echo "ディレクトリの作成に成功しました。"
else
echo "ディレクトリの作成に失敗しました。"
fi
2. 複数のコマンドを組み合わせる
コマンドの実行結果に応じて、次のコマンドを実行するかどうかを決定することができます。
ls /nonexistent_directory || echo "ディレクトリが存在しません。"
3. コマンドの成功・失敗を一覧表示
履歴を参照し、各コマンドの成功・失敗を確認することもできます。
history | awk '{print $2 " " $1}' | while read cmd num; do
echo -n "$num $cmd"
$cmd >/dev/null 2>&1
[ $? -eq 0 ] && echo " 成功" || echo " 失敗"
done
4. コマンドの結果をログファイルに保存
コマンドの実行結果をログファイルに保存し、後から確認することもできます。
ls / > /tmp/ls_log.txt 2>&1
if [ $? -ne 0 ]; then
echo "エラーが発生しました。" >> /tmp/ls_log.txt
fi
まとめ
Linuxのコマンドの成功・失敗を確認する方法として、終了ステータスを利用する方法を解説しました。スクリプト作成時や日常の運用で、コマンドの結果に応じて適切な処理を行うために、この知識は非常に役立ちます。上記の応用例を参考に、さまざまなシチュエーションでの利用方法を模索してみてください。
コメント