可能的重复:
如何使 bash 脚本中的“导出”变量保留下来?
我在从文件执行脚本时遇到问题。当我在命令行中输入时
PATH=$PATH:/home/
然后PATH
适当改变。但是当我执行这个文件时:
#!/bin/sh
#provided by me
PATH=$PATH:/home/
echo "done"
exit 0
done
已打印但未PATH
更改。为什么会出现这种情况?
答案1
环境变量更改适用于当前进程和任何后续子进程,但不适用于父进程。因此,如果您运行脚本,它不会影响运行它的 shell 的环境变量。您需要source
使用内置 shell 的脚本.
。 IE
. /path/to/script
这会导致当前 shell 执行文件中的命令而不是运行子进程。