シェルスクリプトでbooleanを使いたい場合の条件分岐処理
目次
スポンサードリンク
シェルスクリプトには真偽値(boolean値)を表す専用のデータ型が存在しないため、コマンドの終了ステータスや特定の文字列を用いて、疑似的に真偽値を表現するテクニックがあります。この記事ではコマンドの終了ステータスを使用する方法と、文字列を真偽値として扱う方法を解説します。
コマンドの終了ステータスを使用する方法
疑似ブール値 とは、数値や文字列を真偽値として扱うテクニックです。 Linuxコマンドは一般的に、コマンドの処理が成功した場合は、終了ステータスが0になり、失敗した場合は1になります。 終了ステータスが0の場合は、真として扱い、1の場合は偽として扱うことができます。
以下のサンプルコードでは、-f オプションを使用してファイルの存在を確認しています。-f オプションが成功すると終了ステータスが0になるので、if 文の条件が真となり、「ファイルが存在します」と出力する処理が実行されます。
# ファイルが存在するかどうかを確認する
if [ -f /path/to/file ]; then
echo "ファイルが存在します"
else
echo "ファイルが存在しません"
fi
特定の文字列を使用する方法
以下サンプルコードでは、変数 “is_enabled” の内容が、文字列 “true” の場合は 真とし、それ以外の場合は 偽 として条件分岐させています。
# 変数 "is_enabled" が "true" かどうかを確認する
if [ "$is_enabled" = "true" ]; then
echo "有効です"
else
echo "無効です"
fi
シェルスクリプトの知識は、プログラマにとって長く役立つ知識です。 私はこちらの書籍で一通り知識を抑えました。基本から丁寧に解説されています。
最短3時間で覚えるLinuxシェルスクリプト
こちらは、シェルスクリプトの基本的な書き方、デバッグ方法、if, case, while, forなど基本的な制御構文について書かれています。30日間の無料体験もできる『Kindle Unlimited』でも読むことができます。
Linuxコマンドについて徹底的に学べるUdemy講座
もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】
Search
Recent Posts
- OpenSSHのエラー「bad ownership or modes for chroot directory component」の原因と解消方法
- Apacheの起動状態をチェックして停止してる場合にApacheを起動するシェルスクリプト
- Amazon LinuxのOSバージョンを調べる方法|/etc/redhat-release の代替ファイル
- MYSQLでダンプファイルを取得する際に発生したエラー「Couldn't execute 'SELECT BINLOG_GTID_POS('', '0')': You are not using binary logging (1381)」の原因と対処方法
- RHEL系Linuxでリポジトリを一覧表示するコマンド(dnf repolist)