Linux で変数が定義されているかどうかを確認する方法

LinuxLinuxBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Linux コマンドラインで変数を操作する基本的な技術を学びます。まず、echo コマンドを使用して変数の値を表示する方法を習得します。これは、環境設定やその他の保存された情報を調べるために重要なスキルです。

その後、test コマンドと -z オプションを使用して、変数の存在や空の状態を確認する方法を探ります。これは、スクリプト内の条件分岐ロジックに不可欠です。最後に、env コマンドを使用して現在定義されているすべての環境変数をリストする方法を学び、シェルの環境を包括的に把握します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicSystemCommandsGroup -.-> linux/test("Condition Testing") linux/UserandGroupManagementGroup -.-> linux/env("Environment Managing") linux/UserandGroupManagementGroup -.-> linux/unset("Variable Unsetting") subgraph Lab Skills linux/echo -.-> lab-558776{{"Linux で変数が定義されているかどうかを確認する方法"}} linux/test -.-> lab-558776{{"Linux で変数が定義されているかどうかを確認する方法"}} linux/env -.-> lab-558776{{"Linux で変数が定義されているかどうかを確認する方法"}} linux/unset -.-> lab-558776{{"Linux で変数が定義されているかどうかを確認する方法"}} end

echo で変数の値を表示する

このステップでは、echo コマンドを使用して変数の値を表示する方法を学びます。Linux の変数は、シェルや他のプログラムがアクセスして使用できる情報を格納するために使用されます。

一般的な変数のタイプに環境変数があり、これは現在のユーザー、ホームディレクトリ、ターミナルのタイプなど、ユーザーの環境に関する情報を格納します。

変数の値を表示するには、echo コマンドの後にドルル記号 ($) と変数名を入力します。ドル記号は、シェルに対して変数名そのものではなく、変数の を表示したいことを伝えます。

現在ログインしているユーザー名を格納する USER 環境変数の値を表示してみましょう。

ターミナルに以下のコマンドを入力し、Enter キーを押します。

echo $USER

以下の出力が表示されるはずです。

labex

これは、USER 変数の値が labex であり、これが LabEx 環境での現在のユーザー名であることを示しています。

次に、ホームディレクトリのパスを格納する HOME 環境変数の値を表示してみましょう。

以下のコマンドを入力し、Enter キーを押します。

echo $HOME

以下の出力が表示されるはずです。

/home/labex

これにより、ホームディレクトリが /home/labex であることが確認できます。

また、現在使用しているシェルプログラムのパスを示す SHELL 環境変数の値も表示できます。

以下のコマンドを入力し、Enter キーを押します。

echo $SHELL

以下の出力が表示されるはずです。

/usr/bin/zsh

これは、現在 zsh シェルを使用していることを示しています。

ドル記号を使った echo コマンドは、Linux ターミナルで変数の値にアクセスして表示する基本的な方法です。

test -z で変数の存在をテストする

このステップでは、test コマンドと -z オプションを使用して、変数が空であるか、または設定されていないかを確認する方法を学びます。これは、変数に値があるかどうかに基づいて判断を行うスクリプトで役立ちます。

test コマンドは、条件式を評価するために使用されます。-z オプションは、文字列の長さがゼロであるかどうかを確認します。文字列が空である(または変数が設定されていない)場合、テストは真となります。

MY_VARIABLE という名前の変数が設定されているかどうかをテストしてみましょう。まず、この変数が設定されていないことを確認します。

以下のコマンドを入力し、Enter キーを押します。

unset MY_VARIABLE

unset コマンドは、変数を削除します。次に、test -z を使用して MY_VARIABLE が空であるかどうかを確認します。これを echo と組み合わせて、テストの結果を表示します。&& 演算子は、最初のコマンドが成功した場合(真の値を返す場合、test では条件が満たされた場合)のみ、2 番目のコマンドを実行します。

以下のコマンドを入力し、Enter キーを押します。

test -z "$MY_VARIABLE" && echo "MY_VARIABLE is empty or not set"

MY_VARIABLE を削除したばかりなので、test -z "$MY_VARIABLE" の条件は真(変数が空)であり、echo コマンドが実行されます。

以下の出力が表示されるはずです。

MY_VARIABLE is empty or not set

次に、MY_VARIABLE に値を設定しましょう。

以下のコマンドを入力し、Enter キーを押します。

MY_VARIABLE="Hello"

再度、同じ test -z コマンドを実行します。

以下のコマンドを入力し、Enter キーを押します。

test -z "$MY_VARIABLE" && echo "MY_VARIABLE is empty or not set"

今回は、MY_VARIABLE には "Hello" という値があるため、空ではありません。test -z "$MY_VARIABLE" の条件は偽であり、echo コマンドは 実行されません

今回は、echo コマンドからの出力は表示されません。

これは、test -z を使用して変数が空であるか、または設定されていないかを確認する方法を示しています。これは、シェルスクリプトの条件分岐ロジックで使用される基本的な概念です。

env ですべての環境変数をリストする

このステップでは、env コマンドを使用して、現在のシェルセッションで設定されているすべての環境変数をリストする方法を学びます。

環境変数は、シェルやプログラムの動作にとって重要です。これらは、設定情報、実行可能ファイルのパス、その他の設定を格納します。

引数なしで env コマンドを実行すると、すべての環境変数とその値のリストが表示されます。

ターミナルに以下のコマンドを入力し、Enter キーを押します。

env

以下のような長い出力が表示されます(正確な出力はシステムと設定によって異なります)。

SHELL=/usr/bin/zsh
COLORTERM=truecolor
...
USER=labex
...
HOME=/home/labex
...
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
...
PWD=/home/labex/project
...

出力の各行は、VARIABLE_NAME=value の形式で環境変数を表しています。

前のステップで調べた USERHOMESHELL などの変数が見られます。また、シェルが実行可能コマンドを探す場所を示す PATH や、現在の作業ディレクトリを示す PWD など、他にも多くの変数があります。

env コマンドは、シェルの環境を調べるためのシンプルで強力なツールです。デバッグや、プログラムが環境に基づいてどのように動作するかを理解するためによく使用されます。

出力が非常に長い場合、env の出力を less などのページャーにパイプして、一度に 1 画面ずつ表示することができます。

以下のコマンドを入力し、Enter キーを押します。

env | less

矢印キーを使用して上下にスクロールし、q を押して less を終了します。

このステップでは、すべての環境変数をリストする方法を紹介しました。次のステップでは、これらの変数がどのように使用され、どのように操作できるかについて詳しく学びます。

まとめ

この実験では、Linux で変数を扱う基本的な技術を学びました。echo コマンドとドル記号 ($) を使って、USERHOMESHELL などの環境変数の値を表示する練習を行い、このコマンドがどのように保存された情報を取得するかを理解しました。

さらに、test コマンドと -z オプションを使って変数の存在や空であるかどうかを確認する方法を調べました。これは、スクリプトの条件分岐ロジックにおいて重要なスキルです。最後に、env コマンドを使って現在定義されているすべての環境変数をリストする方法を学び、シェルの環境を包括的に把握することができました。