エクスポートはbashシェルの組み込みコマンドであり、環境変数がbashシェルで作成されると、親シェルの変更を継承しません。つまり、新しいシェルが開かれるときに、親シェルの値は継承されません。新しい子シェルにエクスポートされます。子シェルの環境変数の値をエクスポートするには、exportコマンドを使用してこれらの値を子プロセスにエクスポートします。
このフォローアップでは、Linuxでのexportコマンドの使用法について説明します。
Linuxのエクスポートコマンドとは
exportコマンドは、環境変数をマークして、これらを子シェルにエクスポートできるようにするために使用されます。 exportコマンドを使用する一般的な構文:
$ export [options] [variable-name]
exportコマンドで2つの引数を使用できます。 1つは、任意のオプション(これらのオプションについては後で説明します)と、子シェルでエクスポートするためにマークされる変数名にすることができます。
ほとんどの場合、次のオプションがエクスポートコマンドで使用されます。
オプション | 説明 |
-p | 現在のシェルのエクスポートされた変数を表示します |
-n | エクスポートされた変数のリストから変数を削除するために使用されます |
-f | 関数を親シェルから子シェルにエクスポートするために使用されます |
exportコマンドの使用法を理解するために、最初に基本レベルの例を検討します。次のコマンドを使用して、変数「myVariable」を宣言し、その中に「LinuxFoss」の文字列を格納します。
$ myVariable=LinuxFoss

「myVariable」のストア値を表示するには、echoコマンドを使用します。
$ echo $myVariable

値「LinuxFoss」が表示されたら、bashコマンドを実行して子シェルを開きます。
$ bash

新しいbashシェルが開かれました。親シェルで作成された「myVariable」の値を出力します:
$ echo $myVariable

親シェルで作成された「myVariable」は子シェルにエクスポートされないため、出力には何も表示されていません。そのため、子シェルを終了します。
$ exit

親シェルに入ったら、exportコマンドを使用して「myVariable」を子シェルにエクスポートします。
$ export myVariable

もう一度、子シェルを開きます:
$ bash

echoコマンドを使用して「myVariable」の値を出力します:
$ echo $myVariable

このようにして、環境変数にマークを付け、新しく作成されたシェルまたは子シェルにエクスポートできます。ここで、現在のシェルのエクスポート変数を表示する場合は、「-p」フラグを使用できます。
$ export -p

リストの最後に、前のコマンドでエクスポートした「myVariable」の名前が表示されます。

また、エクスポート変数リストから「myVariable」を削除する場合は、「-n」オプションを使用できます。
$ export -n myVariable

「-p」フラグを使用して現在のシェルのエクスポート変数のリストを再度表示する場合:
$ export -p

リスト全体に「myVariable」の名前は表示されません:

名前は削除されました。同様に、親シェルに関数myVariable()を作成し、それに値を格納できます。
$ myVariable() { echo “HELLO! Its LinuxFoss”; }

この関数を子シェルにエクスポートするには、「-f」フラグを使用します。それ以外の場合は、関数ではなく変数の名前と見なされます。
$ export -f myVariable

「bash」コマンドを使用して新しいシェルを開き、myVariable()の値を出力します。
$ myVariable

オプションを使用せずに「export」コマンドを実行すると、エクスポートされたすべての変数と関数のリストが表示されます。
$ export

exportコマンドは、vimエディターをLinuxのデフォルトエディターとして設定し、exportコマンドを使用してVimエディターをデフォルトエディターに設定するためにも使用されます。
$ export EDITOR=/usr/bin/vim

vimエディターがデフォルトのエディターとして設定されていることを確認するには、grepコマンドを使用します。
$ export | grep EDITOR

結論
exportコマンドは、bashシェルの組み込みコマンドの1つであり、環境変数を親シェルから新しく作成された子シェルにエクスポートするために使用されます。このフォローアップでは、いくつかの例を使用して、Linuxでのエクスポートコマンドの使用法について説明します。また、exportコマンドとともに使用されるオプションについても説明しました。