Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
shell脚本为何获胜';直接执行时不运行,但使用/usr/bin/sh或/usr/bin/bash运行?_Bash_Shell_Unix_Command_Command Line Interface - Fatal编程技术网

shell脚本为何获胜';直接执行时不运行,但使用/usr/bin/sh或/usr/bin/bash运行?

shell脚本为何获胜';直接执行时不运行,但使用/usr/bin/sh或/usr/bin/bash运行?,bash,shell,unix,command,command-line-interface,Bash,Shell,Unix,Command,Command Line Interface,Shell脚本文件dummy.sh具有-rw-r--r--权限,可以使用以下命令正常运行 /usr/bin/sh dummy.sh (或) 但当直接执行时,会出现bash:./dummy.sh:Permission denied错误,如下所示。这背后的原因是什么 ./dummy.sh 您的脚本需要标记为系统的可执行文件。这是通过为所有者、集团或世界其他地区设置“x”位来实现的。 见: 通过执行 chmod 755 dummy.sh 您将为脚本所有者设置读取、写入和执行权限,并为组和世界其他

Shell脚本文件dummy.sh具有-rw-r--r--权限,可以使用以下命令正常运行

/usr/bin/sh dummy.sh
(或)

但当直接执行时,会出现bash:./dummy.sh:Permission denied错误,如下所示。这背后的原因是什么

./dummy.sh

您的脚本需要标记为系统的可执行文件。这是通过为所有者、集团或世界其他地区设置“x”位来实现的。 见: 通过执行

chmod 755 dummy.sh
您将为脚本所有者设置读取、写入和执行权限,并为组和世界其他地区设置读取和执行权限。

使用以下任一选项为shell脚本提供“执行”权限:

  • chmod 744 dummy.sh
  • chmod u+x dummy.sh

  • 请务必参阅

    -rw-r-r不足以独立执行。您需要将其设置为可执行文件:
    chmod 755 dummy.sh
    因为
    dummy.sh
    没有执行权限,其中as
    /usr/bin/sh
    将具有可执行权限。执行
    ls-lrt/usr/bin/sh
    检查
    sh
    的权限。然而
    sh
    实际上只是一个
    symlink
    shell,可能是
    bash
    。。。。
    chmod 755 dummy.sh