让我们举个小例子:
$ cat source.sh
#!/bin/bash
echo "I'm file source-1"
. source-2.sh和:
$ cat source-2.sh
#!/bin/bash
echo "I'm file source-2"现在运行:
$ ./source.sh
I'm file source-1
I'm file source-2如果我先更改第二个文件的调用:
$ cat source.sh
#!/bin/bash
echo "I'm file source-1"
source source-2.sh它将具有与使用dot相同的效果。
这些方法之间有什么不同?
发布于 2013-11-20 19:14:00
这是没有区别的。
来自the manual
source
源文件名是的同义词。(参见Bourne Shell Builtins)。
发布于 2013-11-20 21:29:18
唯一的区别在于可移植性。
.是用于从文件执行命令的POSIX标准命令;source是由Bash和其他shell提供的可读性更好的同义词。然而,Bash本身并没有区分这两者。
https://stackoverflow.com/questions/20094271
复制相似问题