执行这样的脚本有什么区别:
./test.sh
并执行这样的脚本:
. test.sh
?
我尝试了一个简单的两行脚本,看看是否能找到不同之处:
#!/bin/bash
ls
Run Code Online (Sandbox Code Playgroud)
但两者. test.sh
并./test.sh
返回相同的信息。
我对“只有一个点 - 空格 - shell 脚本名称”(如. myshellscript
)和“shell 脚本路径”(如./myshellscript
)命令感到困惑。
他们是什么?我注意到该命令. myshellscript
即使使用 -rw-rw-r-- 也会执行 shell 脚本。但./myshellscript
没有。所以我很困惑。
我下载了一个weblogic server的安装包,在README里面,有这个命令要执行:
Linux/Mac
$ . ./configure.sh
Run Code Online (Sandbox Code Playgroud)
这不是我第一次看到这个。为什么在命令的开头有一个额外的点?当我只做时./configure.sh
,结果是一样的