• ベストアンサー

シェルの中から他のシェルを呼び出す

例えば、ひとつのシェルファイル( aaa.sh )の中に、 ------------------------- #!/usr/bin/csh set HOME=/home/test/tmp bbb.sh ------------------------- と記述した場合、bbb.shで変数$HOMEを使いたいと思いましたが、 使えないようです。(HOME: 未定義の変数と表示されます) どなたか、これ以外の方法で、このように シェルからほかのシェルを呼び出して、変数も引き継がれるような方法ご存知ないでしょうか? 多分こーやれば、こうなるかも!みたいなご回答でも結構ですので情報提供をお願いします。 どうぞ宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • 100Gold
  • ベストアンサー率27% (284/1018)
回答No.1

たぶん環境変数は引き継がれます。 setenvを使えばいいように思います?

1104
質問者

お礼

setenvでできました。ありがとうございます。 まだ、UNIX素人なもので・・・

その他の回答 (3)

  • rara_sun
  • ベストアンサー率50% (271/539)
回答No.4

set ではなく、 setenv で設定してください。

1104
質問者

お礼

setenvでできました。ありがとうございます。 まだ、UNIX素人なもので・・・

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.3

こんにちは 一般的に親プロセスで設定された環境変数は子プロセスでも引き継がれると思うのですが。 また、子プロセスで、その環境変数を変更しても、exitで親プロセスに戻れば、子プロセスで設定した環境変数は親プロセスには引き継がれずに、親プロセスで設定したままだと思います。

1104
質問者

お礼

setenvでできました。ありがとうございます。 まだ、UNIX素人なもので・・・

  • PAPA0427
  • ベストアンサー率22% (559/2488)
回答No.2

というか、シェルはプログラム言語でないので、ちょっとムリかと思います。 bbb.sh → bbb.sh /home/test/tmp という様に引数で渡されたら如何でしょう? bbb.shのなかで set HOME = $1 とかでなんとかなりませんか?

1104
質問者

お礼

setenvでできました。ありがとうございます。 まだ、UNIX素人なもので・・・

関連するQ&A