我在 Linux shell 脚本中有一个简单的命令(比如 foo.sh)。我在里面这样做:
export INSTALL_DIR=/mnt/share/TEST_Linux
我运行脚本:
> sh foo.sh
完成后,我尝试获取变量,但值为空。
> echo $INSTALL_DIR
如果我直接键入命令,导出的变量将成为打开的终端窗口的全局变量。我正在使用 Ubuntu。
最佳答案
设置环境变量对于运行脚本的子 bash 进程是本地的。要实现您想要的效果,您需要像这样获取它:source foo.sh
。这意味着它由您的主 bash 进程运行。然后,变量的设置将在脚本完成后保留。
关于linux - 为什么脚本结束后导出的变量为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6522255/