next up previous contents
Next: readonly変数 Up: シェル変数 Previous: シェル変数の初期化と参照

エクスポート変数

 

あるスクリプトから別のスクリプトにシェル変数値を渡したり、ログイン中に実行す るすべてのコマンドから参照させたいシェル変数は export文で宣言することにより その内容を引き渡すことができます。 export文の書式は以下の通りです。

export shell_variables
shell_variables は他のスクリプトに引き渡したいシェル変数名のリストで、 スペースで区切ってならべます。

ユーザがログイン完了後に走る最初のシェルを ログインシェル と言い、すべての 親シェルとなります。ここでユーザが何かスクリプトを実行させるとログインシェル はこのために新しいシェルを走らせます。シェルスクリプトの実行方法を思い出して ください。

$ sh script
これはシェルのコマンドラインで scriptを引数としてもう一つのシェルを走ら せていることをにほかなりません。シェルスクリプトに実行属性を持たせて起動して も内部ではこれとまったく同じ手順で実行されています。 親シェルはこの時に自分のシェル変数の中で exportされているものだけを サブシェル側 でも参照できるようにコピーします。このシェル変数はエクスポート(export) 変数とも呼ばれ、その場所から実行されるサブシェルに対して伝えられていきます。 export宣言されなかったものはローカル変数として子孫には伝えられません。

もし、エクスポート変数がサブシェル側で書き換えられたならば、その影響はコピー されていく子孫側にだけ及び、親となったシェル側のシェル変数内容を変更することは 決してありません。 親シェル側からすれば出て行くexportであって 入ってくるimportではありません。



Riichiro Saito
1995年08月29日(火) 11時41分26秒 JST