シェルとシェルの間で環境変数を引き継ぐ方法

OKWave

2007-11-06 10:00

シェルとシェルの間で環境変数を引き継ぐ方法

初めて質問させていただきます。
シェル内でsetenvにて定義された変数を別のシェルにて使う方法があれば教えてください。
よろしくお願いします。

良回答

あ〜, foo.csh の中で
bar.csh
という形で呼出しているんですね.
この場合, foo.csh を実行しているシェルとは別に bar.csh を実行するためにシェルを起動します. そして bar.csh の中で設定した環境変数は bar.csh のためのシェルが終了すると同時に破棄されます. そのため bar.csh の中で環境変数を設定しても, foo.csh には影響しません.
これに対し foo.csh の中に
source bar.csh
と書いてやると, foo.csh を実行しているシェルが bar.csh も実行します. なので, 「別のファイルで環境変数を設定し, それを元のシェルにも引き継ぎたい」場合には source (Bourne shell 系なら . というコマンド) を使います.

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

マイナンバーカードの利用状況を教えてください

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]