“source” 和 “.” 有什么区别?

“source” 和 “.” 有什么区别?

source /some/script使用Bash执行脚本(例如 /some/script)有什么区别. /some/script

答案1

source并且.是同义词猛击

对于那些想要验证这些命令是否只是同义词的人来说,看看源代码,假设版本为 4.3,然后检查文件builtins/source.def您将看到,两个内置命令source.,使用同样的功能:source_builtin

答案2

.在 bash 中与 同义source,但在 POSIX sh 中不是,因此如果您的脚本由 /bin/sh 运行,则应使用.。请注意,bash 声称在以 /bin/sh 调用时像 POSIX sh 一样运行,但毫无怨言地接受source

这种行为让我很困扰,例如,使用 bash 作为 /bin/sh 测试的脚本在 ash 下运行时会失败。

相关内容