gpt4 book ai didi

linux - 传播由子执行脚本完成的变量更改

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:40:08 25 4
gpt4 key购买 nike

我的问题是 self 描述的:

script1.sh 包含:

#!/bin/sh
export SOMEVAR=0
echo "1, SOMEVAR=$SOMEVAR"
./script2.sh
echo "2, SOMEVAR=$SOMEVAR"

script2.sh 包含:

#!/bin/sh
SOMEVAR=1

./script1.sh 给出:

1, SOMEVAR=0
2, SOMEVAR=0

虽然我想:

1, SOMEVAR=0
2, SOMEVAR=1

如何获得想要的结果?

最佳答案

使用source(又名。)而不是调用脚本,子进程不能改变父环境:

#!/bin/sh
export SOMEVAR=0
echo "1, SOMEVAR=$SOMEVAR"
. ./script2.sh
echo "2, SOMEVAR=$SOMEVAR"

关于linux - 传播由子执行脚本完成的变量更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14166373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com