1. 概要

Linuxユーザーとして、私たちはシェルスクリプトを頻繁に使用します。 スクリプトの一般的な要件の1つは、特定の環境変数が設定されているかどうかをテストすることです。 これは、さまざまなエラー状態の処理に役立ちます。

このチュートリアルでは、特定の環境変数が設定されているかどうかを確認するためのさまざまな例を示します。

2. if条件式の使用

if条件式を使用して、値が変数に割り当てられているかどうかを確認できます。

$ VAR= 
$ if [ x"${VAR}" == "x" ]; then 
     echo "Value is not assigned to a variable"
  else
     echo "Value is assigned to a variable"
  fi
Value is not assigned to a variable

変数に値を割り当てて、結果を確認してみましょう。

$ VAR="sample-value"
$ if [ x"${VAR}" == "x" ]; then
     echo "Value is not assigned to a variable"
  else 
     echo "Value is assigned to a variable"
  fi
Value is assigned to a variable

3. 二重角かっこを使用する

変数が設定されているかどうかを確認する別の方法は、二重角括弧を使用することです。

$ VAR=
$ [[ x"${VAR}" == "x" ]] && echo "Value is not assigned to a variable" || echo "Value is assigned to a variable"
Value is not assigned to a variable

変数に値を割り当てて、出力を確認しましょう。

$ VAR="sample-value"
$ [[ x"${VAR}" == "x" ]] && echo "Value is not assigned to a variable" || echo "Value is assigned to a variable"
Value is assigned to a variable

この方法は、Bash、Z Shell(zsh)、およびKorn Shell(ksh)でのみ機能することに注意してください。

4. パラメータ式の使用

bash 組み込みのパラメーター式を使用して、変数が設定されているかどうかを確認できます。

$ VAR=
$ [[ ${VAR:-"unset"} == "unset" ]] && echo "Value is not assigned to a variable" || echo "Value is assigned to a variable"
Value is not assigned to a variable

変数の値を設定して、それが機能するかどうかを確認しましょう。

$ VAR="sample-value"
$ [[ ${VAR:-"unset"} == "unset" ]] && echo "Value is not assigned to a variable" || echo "Value is assigned to a variable"
Value is assigned to a variable

5. -z条件式の使用

bashには、文字列の長さがゼロの場合にtrueを返す-z条件式があります。このプロパティを使用して、変数が設定されているかどうかを確認できます。

$ VAR=
$ [[ -z "${VAR}" ]] && echo "Value is not assigned to a variable" || echo "Value is assigned to a variable"
Value is not assigned to a variable

試してみましょう:

$ VAR="sample-value"
$ [[ -z "${VAR}" ]] && echo "Value is not assigned to a variable" || echo "Value is assigned to a variable"
Value is assigned to a variable

6. -n条件式の使用

同様に、文字列の長さがゼロ以外の場合にtrueを返す-n条件式があります。このプロパティを使用して、変数が設定されているかどうかを確認できます。

$ VAR=
$ [[ ! -n "${VAR}" ]] && echo "Value is not assigned to a variable" || echo "Value is assigned to a variable"
Value is not assigned to a variable

変数の値を更新して、結果を確認しましょう。

$ VAR="sample-value"
$ [[ ! -n "${VAR}" ]] && echo "Value is not assigned to a variable" || echo "Value is assigned to a variable"
Value is assigned to a variable

7. 結論

このチュートリアルでは、変数が設定されているかどうかを確認するためのさまざまな実用的な例について説明しました。 まず、条件式かどうかについて説明しました。 次に、パラメーター式について説明し、最後に、bashの組み込み条件式について説明しました。 これらのコマンドを日常生活で使用して、シェルスクリプトをより堅牢にすることができます。