export
コマンドの使用を理解しようとしています。UNIXエクスポートコマンド
man export
を使ってみましたが、このコマンドのマニュアルはありません。
誰でもUNIXでexport
の使用を理解するのを手伝ってもらえますか?
export
コマンドの使用を理解しようとしています。UNIXエクスポートコマンド
man export
を使ってみましたが、このコマンドのマニュアルはありません。
誰でもUNIXでexport
の使用を理解するのを手伝ってもらえますか?
プログラムを実行すると、子プログラムはその環境変数を親プログラムから継承します。たとえば、$HOME
が親の/root
に設定されている場合、子の$HOME
変数も/root
に設定されます。
これは、エクスポート用にマークされた環境変数にのみ適用されます。コマンドラインで変数を
のように設定した場合$ FOO="bar"
この変数は子プロセスでは表示されません。ないあなたがそれをエクスポートしない限り:
$ export FOO
あなたはbashで(はなく、古い学校のSHに)単一のものにこれらの二つの文を組み合わせることができます:
$ export FOO="bar"
ここでの違いを示す簡単な例です輸出されていない変数。何が起きているのかを知るためには、sh -c
が親シェルの環境を継承する子シェルプロセスを作成することが分かっています。
$ FOO=bar
$ sh -c 'echo $FOO'
$ export FOO
$ sh -c 'echo $FOO'
bar
注:は組み込みコマンドがhelp export
を使用しているシェルにヘルプを表示するには。シェル組み込み関数は、/bin/ls
のような独立した実行可能ファイルではなく、シェルの一部であるコマンドです。
のUnix
コマンドのENV、設定、およびprintenvの表示すべての環境変数とその値。 envとsetは環境変数の設定にも使用され、しばしばシェルに直接組み込まれます。 printenvは、その変数名をコマンドの唯一の引数として与えることによって、単一の変数を出力するためにも使用できます。
Unixでは、以下のコマンドも使用できますが、多くの場合、特定のシェルに依存しています。
export VARIABLE=value # for Bourne, bash, and related shells
setenv VARIABLE value # for csh and related shells
あなたは
ようこそStackOverflowへ。古典的なBourneシェルには、次のものが必要であることに注意してください: 'VARIABLE = value;一度に割り当ててエクスポートするのではなく、「変数をエクスポートする」。Cシェルの 'set'コマンドは、環境変数ではなくシェル変数用です。 'setenv'は' export'のそれに相当します。 Bourne由来のシェルの 'set'コマンドは、エクスポートされた(環境)変数だけでなくすべての変数を表示します。歴史的には、少なくとも 'env'コマンドはシェル(組み込みではない)から分離されていますが、簡単に組み込み可能です。それは、それを実行するシェルではなく、特定のコマンドの環境を設定します。 –
export
は、bash
shellと他のBourne shell variantsの組み込みコマンドです。子プロセスへのエクスポートのためのシェル変数をマークするために使用されます。
非常に奇妙なことに、マニュアルページはありません。私はどちらも見ない。 – Pinocchio