问题如下图所示:

在这里插入图片描述
由上图可知我创建一个可执行shell文件,我并未赋予可以执行权限,但是我却能执行这个shell文件,在我的学习中分明记得,要让可执行文件能被执行,那就必须加上可执行权限 -x。


原因分析:

  1. sh+脚本名称,可以不必事先设定shell的执行权限。因为这个是将shell_test.sh作为参数传给sh(bash)命令来执行的。这时不是shell_test.sh自己来执行,而是被调用执行,所以不要可执行权限。
  2. 如果直接运行shell_test.sh,就会报权限问题
    在这里插入图片描述

总结:

使用命令执行文件时,是不需要加-x可执行权限的,如果是直接执行文件,则需要加上-x可执行权限

Logo

更多推荐