执行这样的脚本有什么区别:
./test.sh
并执行如下脚本:
. test.sh
?
我尝试了一个简单的两行脚本,以查看是否可以找到区别:
#!/bin/bash
ls
但是两者. test.sh
并./test.sh
返回相同的信息。
test.sh
不一样一样,并且以相同的方式(第一个调用搜索)也不同。在执行路径搜索时,许多外壳似乎隐式包含在外壳的末尾,但是这种行为不是标准的。因此,比较vs 和vs 比较准确。./test.sh
PATH
. test.sh
. ./test.sh
PATH
.
PATH
.
test.sh
. test.sh
./test.sh
. ./test.sh