如何修改child的导出变量

时间:2014-04-11 15:13:06

标签: bash

我有很多bash脚本可以处理名为WORKING_FILE的导出变量。

此变量在main.sh脚本中导出,该脚本是在shell中启动的第一个脚本,在执行期间它调用其他脚本(例如child.sh)。

实际上,child.sh将WORKING_FILE视为main.sh环境的副本,如果它尝试更改WORKING_FILE,则该值将在执行结束时丢失。

所以,问题是: child.sh如何修改WORKING_FILE的值并在不使用文件的情况下更改main.sh中的WORKING_FILE值?

感谢。 :)

1 个答案:

答案 0 :(得分:2)

如果您导出变量并执行子项,那么您不能 - 该子项获取变量的副本,并且在父项中看不到任何更改。

但是,您可以脚本

. ./child.sh

source child.sh

这将在同一个解释器中执行子脚本,并且此脚本对环境所做的任何更改都将在脚本中显示。