在子进程中更改环境变量-bash [英] change environment variable in child process - bash

查看:267
本文介绍了在子进程中更改环境变量-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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆