改变子进程中的环境变量 - bash

时间:2013-04-25 14:12:30

标签: bash environment-variables

您好我有以下示例。 a.sh脚本设置我可以在b.sh(子)脚本中看到的环境变量,但如果我更改它,我仍然在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

1 个答案:

答案 0 :(得分:5)

a.sh执行source b.sh而不是./b.sh

a.sh应如下所示:

#!/bin/bash
export A=1
source b.sh
echo parent "$A"