一尘不染

当文件在Unix / Linux上下文中是`source` -d时会发生什么?

linux

我看过的shell脚本包括如下一行:

source someOtherFile

我知道这会导致someOtherFile执行的内容,但是意义source何在?


后续问题:可以源任何脚本,还是仅源某些类型的脚本?脚本的来源(与正常执行相反)是否有除环境变量以外的其他副作用?


阅读 166

收藏
2020-06-03

共1个答案

一尘不染

source在脚本上运行命令会在当前进程的上下文中执行脚本。这意味着由脚本设置的环境变量在完成运行后仍然可用。这与正常运行脚本相反,在正常情况下,脚本退出后,新生成的进程中设置的环境变量将丢失。

您可以获取任何可运行的Shell脚本。最终效果将与您在终端中键入脚本中的命令一样。例如,如果脚本更改目录,则在完成运行后,您当前的工作目录将已更改。

2020-06-03