- ベストアンサー
シェルの中から他のシェルを呼び出す
例えば、ひとつのシェルファイル( aaa.sh )の中に、 ------------------------- #!/usr/bin/csh set HOME=/home/test/tmp bbb.sh ------------------------- と記述した場合、bbb.shで変数$HOMEを使いたいと思いましたが、 使えないようです。(HOME: 未定義の変数と表示されます) どなたか、これ以外の方法で、このように シェルからほかのシェルを呼び出して、変数も引き継がれるような方法ご存知ないでしょうか? 多分こーやれば、こうなるかも!みたいなご回答でも結構ですので情報提供をお願いします。 どうぞ宜しくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
たぶん環境変数は引き継がれます。 setenvを使えばいいように思います?
その他の回答 (3)
- rara_sun
- ベストアンサー率50% (271/539)
set ではなく、 setenv で設定してください。
お礼
setenvでできました。ありがとうございます。 まだ、UNIX素人なもので・・・
- arukamun
- ベストアンサー率35% (842/2394)
こんにちは 一般的に親プロセスで設定された環境変数は子プロセスでも引き継がれると思うのですが。 また、子プロセスで、その環境変数を変更しても、exitで親プロセスに戻れば、子プロセスで設定した環境変数は親プロセスには引き継がれずに、親プロセスで設定したままだと思います。
お礼
setenvでできました。ありがとうございます。 まだ、UNIX素人なもので・・・
- PAPA0427
- ベストアンサー率22% (559/2488)
というか、シェルはプログラム言語でないので、ちょっとムリかと思います。 bbb.sh → bbb.sh /home/test/tmp という様に引数で渡されたら如何でしょう? bbb.shのなかで set HOME = $1 とかでなんとかなりませんか?
お礼
setenvでできました。ありがとうございます。 まだ、UNIX素人なもので・・・
お礼
setenvでできました。ありがとうございます。 まだ、UNIX素人なもので・・・