測試.sh:
#!/bin/bash
export test_var=1
運行腳本,然後繼續在終端機運行命令:echo $test_var
,什麼都沒有。為什麼?由於test_var
已匯出,我認為我可以繼續在終端中使用該變數。
答案1
export 是允許子 shell 繼承變數,它不會允許子 shell 更改父 shell 中的值。
答案2
若要變更目前的 shell 環境,請使用下列任一命令執行腳本
. test.sh
或者
source test.sh
測試.sh:
#!/bin/bash
export test_var=1
運行腳本,然後繼續在終端機運行命令:echo $test_var
,什麼都沒有。為什麼?由於test_var
已匯出,我認為我可以繼續在終端中使用該變數。
export 是允許子 shell 繼承變數,它不會允許子 shell 更改父 shell 中的值。
若要變更目前的 shell 環境,請使用下列任一命令執行腳本
. test.sh
或者
source test.sh