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 下运行时会失败。