在子进程中更改环境变量-bash [英] change environment variable in child process - bash
本文介绍了在子进程中更改环境变量-bash的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下示例. a.sh脚本设置了可以在b.sh(子)脚本中看到的环境变量,但是如果更改它,我在a.sh中仍然具有旧值
Hi I have following example. a.sh script sets environment variable which I can see in b.sh (child) script, but if I change it I still have the old value in a.sh
a.sh
#!/bin/bash
export A=1
./b.sh
echo parent $A
b.sh
#!/bin/bash
echo child $A
A=2
export A
echo child $A
测试:
bash-3.00$ ./a.sh
child 1
child 2
parent 1
child 1
child 2
推荐答案
在a.sh
中执行source b.sh
而不是./b.sh
a.sh
应该看起来像这样:
#!/bin/bash
export A=1
source b.sh
echo parent "$A"
这篇关于在子进程中更改环境变量-bash的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文