HOWTO · Bash

Bash で変数に値があるかどうかを確認する

このチュートリアルでは、Bash で変数に値が含まれているかどうかを確認する方法について説明します。

このページの内容

変数に値が含まれているかどうかを確認する必要がある場合があります。 これは、実行するユーザー入力を含むプロジェクトで作業する場合に重要です。

Bash スクリプトでは、変数に値が含まれているかどうかを確認するさまざまな方法を使用できます。 この記事では、変数の値をチェックする方法を示します。

また、トピックを簡単にするために必要な例と説明も表示されます。

if...else を使用して、Bash で変数に値があるかどうかを確認する

変数をチェックするために使用する最初の方法は、if...else ステートメントです。 このメソッドを使用して、変数に値が含まれているかどうかを確認することもできます。

これを行うには、以下に示すサンプル コードに従います。

VAR=
if [ x"${VAR}" == "x" ]; then
     echo "No value found for the variable"
  else
     echo "Value found for the variable"
  fi

上記の例では、行 if [ x"${VAR}" == "x" ]; を通じて、変数に値が含まれているかどうかを確認しました。 コードを実行すると、次の出力が得られます。

No value found for the variable

二重角括弧を使用して、Bash で変数に値があるかどうかを確認する

二重角括弧 [[]] を使用して同じタスクを実行することもできます。 このセクションでは、以下で共有されるサンプル コードを使用して、二重角括弧を使用して変数の値をチェックする方法を示します。

VAR=
[[ x"${VAR}" == "x" ]] && echo "No value found for the variable" || echo "Value found for the variable"

上記の例では、[[ x"${VAR}" == "x" ]] という行で、変数に値が含まれているかどうかを確認しました。 このコードを実行すると、次のような出力が得られます。

No value found for the variable

パラメータ式を使用して、Bash で変数に値があるかどうかを確認する

変数に値が含まれているかどうかを確認する別の方法は、パラメーター式を使用することです。

このセクションでは、組み込みのパラメーター式を使用して変数をチェックします。 この目的のために、以下の例に従うことができます。

VAR=
[[ ${VAR:-"unset"} == "unset" ]] && echo "No value found for the variable" || echo "Value found for the variable"

上記の例では、[[ ${VAR:-"unset"} == "unset" ]] という行で、変数に値が含まれているかどうかを確認しました。

上記のコードを実行すると、次のような出力が得られます。

No value found for the variable

-z 条件式を使用して、Bash で変数に値があるかどうかを確認する

Bash スクリプトには -z 条件式があり、変数に値が含まれているかどうかを確認するために使用できます。 文字列の長さが 0 の場合、true を返します。

このメソッドを使用して変数に値が含まれているかどうかを確認するには、次のコード例に従います。

var=
[[ -z "${var}" ]] && echo "No value was found for the variable !!!" || echo "Value found for the variable..."

上記の例では、[[ -z "${VAR}" ]] という行で、変数に値が含まれているかどうかを確認しました。

上記のコードを実行すると、以下の出力が得られます。

No value was found for the variable !!!

-n 条件式を使用して、Bash で変数に値があるかどうかを確認する

また、Bash には組み込みの -n 条件式があり、変数のチェックに使用できます。

-n 条件式は、文字列の長さがゼロ以外の値の場合に true を返します。 このメソッドを使用して、変数に値が含まれているかどうかを確認することもできます。

以下で共有されるコード例に従うことができます。

VAR=
[[ ! -n "${VAR}" ]] && echo "No value found for the variable" || echo "Value found for the variable"

上記の例では、行 [[ ! -n "${VAR}" ]]、変数に値が含まれているかどうかを確認しました。

このコードを実行すると、次のような出力が得られます。

No value found for the variable

上記の方法のいずれかを選択して、ニーズと複雑さに基づいて変数を確認できます。

この記事で使用するコードはすべて Bash で記述されていることに注意してください。 Linux シェル環境でのみ実行可能です。