。 ./test.sh

。 ./test.sh

一个问题 - 在某些情况下,我看到这样的命令行

。 ./test.sh

我很好奇为什么要用“.”在“./test.sh”之前什么条件我们必须使用“.”在命令之前?

答案1

跑步. ./test.sh与跑步类似source ./test.sh。它没有将文件test.sh作为可执行文件运行。相反,它会在当前 shell 中逐行运行其内容。例如,它也可以修改您当前的环境。

答案2

跑步. ./test.sh是一样的source ./test.sh。它在当前 shell 而不是子 shell 中运行脚本(即它不会分叉)。这可能会更改调用脚本中同名的变量,并且会保留在./test.sh调用脚本中调用后定义和可见的变量和函数。

相关内容