更改可执行文件 (chmod +x) 和不更改可执行文件的 .sh 文件有什么区别?

What is difference .sh file to change executable (chmod +x) and not?

我注意到当制作.sh文件时,通常,然后我们编辑文件的可执行标志

$ chmod +x <sth>.sh

但是没有那个可执行标志,.sh 文件是可以执行的。

$ sh ./<sth>.sh

为什么我们需要 chmod?

祝你有愉快的一天!

通过使用 chmod 并打开执行权限,您可以 运行 使用

的文件
<sth>.sh 

没有可执行权限,如果你有读取权限你仍然可以运行脚本但是你必须使用解释器,例如shbash

当你这样做时

 sh <sth>.sh

这意味着运行 sh命令,读取.sh文件,然后解释它,因此你不需要执行权限。

当您不授予该文件可执行权限时,您必须提及您想要 运行 您的文件的二进制文件。

例如,您必须 运行 像

这样的文件

sh example.sh

但是当您授予文件可执行权限时,您可以 运行 将文件作为 ./example.sh