我在Linux shell脚本中有一个简单的命令(比如foo.sh).在其中我这样做:
export INSTALL_DIR=/mnt/share/TEST_Linux
Run Code Online (Sandbox Code Playgroud)
我运行脚本:
> sh foo.sh
Run Code Online (Sandbox Code Playgroud)
完成后我尝试获取变量,但值为空.
> echo $INSTALL_DIR
Run Code Online (Sandbox Code Playgroud)
如果我直接输入命令,导出的var将变为全局到打开的终端窗口.我正在使用Ubuntu.
小智 7
设置环境变量是运行脚本的子bash进程的本地变量.为了实现你想要的,你需要像这样来源:source foo.sh.这意味着它由您的主要bash进程运行.然后,在脚本完成后,将保留变量的设置.