テスト:
#!/bin/bash
export test_var=1
スクリプトを実行し、ターミナルでコマンドの実行を続けます: echo $test_var
、何も得られません。なぜでしょうか? がtest_var
エクスポートされたので、ターミナルで変数を引き続き使用できると思いました。
答え1
export はサブシェルが変数を継承できるようにするためのもので、サブシェルが親の値を変更できるようにするためのものではありません。
答え2
現在のシェル環境を変更するには、次のいずれかの方法でスクリプトを実行します。
. test.sh
または
source test.sh