gpt4 book ai didi

linux - export 在 shell 脚本中不起作用,但通过 CLI 起作用

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:52:17 24 4
gpt4 key购买 nike

我有以下文件 - test.sh - 在 .:

#!/bin/sh
export ASDF=test

我执行 chmod +x test.sh,然后是 ./test.sh,最后是 echo $ASDF,然后……什么都没有。就好像没有设置 $ASDF 一样。但是,如果我通过 CLI 而不是 shell 脚本来完成它,它就可以正常工作并且定义了 $ASDF。

为什么 shell 脚本不工作?

最佳答案

这是因为:

./test.sh

将创建一个子 shell 并在子 shell 中设置环境变量。一旦子 shell 退出,此变量在父 shell 中不可用。

使用这种形式避免 fork 子 shell 并在当前 shell 本身中执行 test.sh:

. ./test.sh

或者:

source ./test.sh

现在变量 ASDF 也将在当前 shell 中可用。

关于linux - export 在 shell 脚本中不起作用,但通过 CLI 起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24973160/

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