いくつかの環境変数を設定するために呼び出せるシェルスクリプトを使用したいと思います。しかし、スクリプトの実行後には、bashで "printenv"を使用している環境変数は表示されません。ここでシェルスクリプトの環境変数を設定しても、シェルに表示されません。
は私のスクリプトです:私は "./test.sh" を行うと
#!/bin/bash
echo "Hello!"
export MYVAR=boubou
echo "After setting MYVAR!"
、私は次を参照してください。私は "printenvはMYVAR" を行うと
Hello!
After setting MYVAR!
、私は何も表示されません。
私が間違っていることを教えてもらえますか?
それは動作しますが、なぜ「のbash test.shは、」環境変数を設定しないのですか? bashがプロンプトに入力されたかのようにスクリプト内の各コマンドを実行すると、環境変数は現在のプロセスに設定されますか? – GDICommander
@GDICommander:いいえ、 'bash test.sh'を実行すると、スクリプト**を実行して**を終了する新しい' bash'プロセスが作成されます。 – NPE
よろしくお願いします。今、私は環境変数を少し良く理解しています。 – GDICommander