UNIXエクスポートコマンド[終了]


158

exportコマンドの使い方を理解しようとしています。

を使ってみましman exportたが、このコマンドのマニュアルがありません。

誰かexportがUNIXでのの使用を理解するのを手伝ってくれませんか?


そのためのマニュアルページがないのは非常に奇妙です。どちらも見えません。
ピノキオ2016年

回答:


226

プログラムを実行すると、子プログラムは親から環境変数を継承します。たとえば、が親でに$HOME設定さ/rootれている場合、子の$HOME変数もに設定され/rootます。

これは、エクスポート用にマークされた環境変数にのみ適用されます。コマンドラインで次のように変数を設定した場合

$ FOO="bar"

その変数は、子プロセスでは表示されません。エクスポートしない限り:

$ export FOO

これらの2つのステートメントをbashで単一のステートメントに結合できます(ただし、古い学校のshではできません)。

$ export FOO="bar"

以下は、エクスポートされた変数とエクスポートされていない変数の違いを示す簡単な例です。何が起こっているのかを理解sh -cするには、親シェルの環境を継承する子シェルプロセスを作成することがわかります。

$ FOO=bar
$ sh -c 'echo $FOO'

$ export FOO
$ sh -c 'echo $FOO'
bar

注:シェル組み込みコマンドのヘルプを表示するには、を使用してくださいhelp export。シェル組み込みは、のような独立した実行可能ファイルではなく、シェルの一部であるコマンドです/bin/ls


16

Unix

コマンドenv、set、およびprintenvは、すべての環境変数とその値を表示します。envとsetは環境変数を設定するためにも使用され、多くの場合シェルに直接組み込まれます。printenvを使用して、コマンドの唯一の引数として変数名を指定することにより、単一の変数を出力することもできます。

Unixでは、次のコマンドも使用できますが、多くの場合、特定のシェルに依存しています。

export VARIABLE=value  # for Bourne, bash, and related shells
setenv VARIABLE value  # for csh and related shells

あなたはこれを見ることができます


4
StackOverflowへようこそ。従来のBourneシェルにVARIABLE=value; export VARIABLEは、割り当てとエクスポートを一度に行うのではなく、次のものが必要になることに注意してください。setCシェルのコマンドは、環境変数ではなくシェル変数用です。setenvはの対応物ですexportsetBourne派生シェルのコマンドは、エクスポートされた(環境)変数だけでなく、すべての変数を出力します。歴史的には、少なくともenvコマンドはシェルから分離されており(組み込みではありません)、簡単に組み込みにすることができます。これは、コマンドを実行するシェルではなく、特定のコマンドの環境を設定します。
ジョナサンレフラー、2011


0

export環境変数を設定するために使用されます。例えば:

export EDITOR=pico

デフォルトのテキストエディタをpicoコマンドに設定します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.