Answers:
source
并且.
是同义猛砸。
对于任何想验证命令只是同义词而已的人,请查看源代码,例如4.3版,然后检查文件builtins/source.def
。您将阅读到这两个内置命令,source
并且.
使用了完全相同的功能:source_builtin
。
.
是传统的源命令,继承自古老的bourne shell。source
只是一个bash内置函数,其功能与完全相同.
,大概是因为它更具可读性(.
单独使用小字体可能很难发现它)。您将看到help source
并help .
显示相同的信息。
man bash
然后进行搜索,source
您会发现它source filename [arguments]
是的同义词. filename [arguments]
。
.
source
在bash中是同义词,但在POSIX sh中不是。因此,.
如果脚本由/ bin / sh运行,则应使用。请注意,当bash称为/ bin / sh时,它声称其运行方式类似于POSIX sh,但毫无保留地接受source
。
这种行为让我很伤心,例如,在ash下运行时,使用bash测试为/ bin / sh的脚本失败。
#!/bin/sh
您时,您永远不要以为Shell除了POSIX功能外不支持任何其他功能。pubs.opengroup.org/onlinepubs/9699919799/utilities/…– geirha