$cat test
export var=value
$./test
$echo $var
我什么也没得到。我期待看到值(value)。
最佳答案
在您的情况下,test
正在一个单独的 shell(您的 shell 的子级)中运行。 child 永远无法改变 parent 的环境。因此,当子进程退出时 var
就会丢失。
如果您想在当前 shell 中运行脚本,请尝试:
source ./test
此外,将脚本命名为“test”通常不是一个好主意。许多unice都有/usr/bin/test
。
关于linux - 这个导出某些内容的基本 shell 脚本有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7914226/