2012-12-10 35 views
0

我從bash shell執行了以下操作。從bash腳本更改導出變量的值

export myPath="/home/user/dir"

然後,我通過「echo'ing來自殼和bash腳本里面這個值驗證了這個值。兩者都很好。

然後我試着從這樣的腳本里面設置這個變量的值。 myPath="/home/user/newdir" 並試圖從shell中打印這個變量。我認爲變量會保持更新的值,但它顯示的是舊值。

如何更新腳本中的值?如果可能的話,我希望不使用source

回答

4

爲了使變量堅持劇本完成後,你必須使用source命令來運行它:

當腳本使用source它運行現有的外殼內運行,創建或修改的任何變量該腳本將在腳本完成後保持可用狀態。相反,如果腳本只是以文件名的形式運行,那麼會生成一個單獨的子shell(具有完全獨立的一組變量)來運行該腳本。

+0

這些文件是我完全不能理解的大代碼庫的一部分。所以我不確定任何潛在的問題,如果我'源'這個文件可能發生。如果您知道任何替代品,請分享。謝謝。 – NeonGlow