我已经知道如果要使用./
执行脚本,我必须先运行。但为什么我不用命令chmod +x file
就可以使用执行它?不需要任何执行权限?sh file
chmod
sh
答案1
sh
具有执行权限。好吧,它基本上是 Dash 的符号链接。
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Feb 17 2016 /bin/sh -> dash
并且 dash 具有执行权限:
$ ls -l /bin/dash
-rwxr-xr-x 1 root root 154072 Feb 17 2016 /bin/dash
dash 所要做的就是解析脚本,因此文件需要可读。