gpt4 book ai didi

linux - 环境变量不更新

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

我有两个 shell 脚本。其中一个我有:

export FOO="yes"
sh another.sh &

# ops ...

export FOO=0

another.sh 我有:

while [[ $FOO -eq "yes" ]]
do
# something ...
done

问题是,当第一个脚本完成时,设置 FOO=0another.shFOO 的值继续为 "is"。我想知道如何获取更新的 FOO 以便我可以确定第一个脚本(调用者)何时完成。

最佳答案

子进程接收其父环境的副本,而不是对原始环境的引用。如果在子进程仍在运行时父进程发生变化,则子进程的内存空间中仍具有原始值。

作为解决方法,您可以让父级在退出前在已知位置创建一个空文件,然后让子级查找要创建的文件。它不是很健壮,但它是一种简单的进程间通信形式,可能就足够了。

关于linux - 环境变量不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19251960/

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