このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

環境変数の設定:exportコマンド

exportコマンドの概要

 「export」コマンドは、シェル変数を環境変数としてエクスポートし、子プロセスでもその変数が利用できるようにします。環境変数は、システム全体の設定やプロセス間で共有される設定情報を保存するために使用されます。「export」コマンドを使用することで、特定のシェル変数を現在のシェルの環境変数として設定できます。

シェル変数との違い

項目シェル変数環境変数
定義方法VAR=valueexport VAR=value または VAR=value; export VAR
有効範囲定義されたシェルセッション内定義されたシェルセッションおよびその子プロセス
使用目的シェルスクリプトやシェル内で使用システム設定やプログラムの設定など、広範囲で使用
シェル変数との違い

コマンドの使用例と解説

1.シェル変数の定義

次のコマンドを実行します。

  • VAR="Hello, World!"」コマンド
  • echo $VAR」コマンド

この場合、VARはシェル変数として現在のシェルセッション内でのみ使用できます。

user01@ubuntu-vm:~$ VAR="Hello, World!"
user01@ubuntu-vm:~$ echo $VAR
Hello, World!
2.環境変数としてエクスポート

環境変数としてエクスポートするには、以下のようにします。

export VAR="Hello, World!"

または

VAR="Hello, World!"
export VAR

ここでは、既にシェル変数を定義しているので、次のコマンドを実行します。

・「export VAR」コマンドを実行します。

この場合、VARは現在のシェルセッションおよびその子プロセスで使用可能な環境変数として設定されます。

user01@ubuntu-vm:~$ export VAR
3.環境変数の確認

環境変数が設定されていることを確認するには、「printenv」または「env」コマンドを使用します。

・「printenv VAR」コマンドを実行します。

user01@ubuntu-vm:~$ printenv VAR
Hello, World!

・「env | grep VAR」コマンドを実行します。

user01@ubuntu-vm:~$ env | grep VAR
VAR=Hello, World!
4.環境変数の使用例

サブシェル(子プロセス)を起動します。

・「bash」コマンドを実行します。

user01@ubuntu-vm:~$ bash

特に変化がないように見えますが、サブシェルが起動しています。

・「echo $VAR」コマンドを実行します。

 「Hello, World!」と表示されます。これは、環境変数としてサブシェル(子プロセス)にエクスポートされたからです。

user01@ubuntu-vm:~$ echo $VAR
Hello, World!

ログインしたときに起動されるログインシェルに戻ります。

・「exit」コマンドを実行します。

user01@ubuntu-vm:~$ exit
exit

まとめ

 「export」コマンドは、シェル変数を環境変数としてエクスポートし、子プロセスでも利用できるようにするために使用されます。シェル変数は現在のシェルセッション内でのみ有効ですが、「export」された環境変数はその子プロセスでも有効になります。これにより、システム全体の設定やプログラム間での設定の共有が容易になります。