Linux RHEL 7 - Shell 脚本 - 可以单独执行命令,但不能在脚本内执行

Linux RHEL 7 - Shell 脚本 - 可以单独执行命令,但不能在脚本内执行

我有一个简单的脚本,用于在客户权限下安装包,如下所示(出于安全考虑,命令已更改)installScript.sh

#!/bin/bash
patch -i <package-name> << EOF
n
EOF

此脚本的目的是为了在提示“您确定吗?(Y/n)”时自动输入 N(否),以进行测试。此文件的权限是

-rwxrwxrwx. 1 cust root  66 Jul 25 15:06 installScript.sh

但是,当我使用执行此命令时

./installScript.sh
or 
sh /home/cust/installScript.sh

我被拒绝了权限。但是通过patch手动执行命令,我可以正常运作,没有任何问题。有什么需要配置的吗?

答案1

这是权限问题,因为你的组是“root”。
你必须sudo ./installScript.sh

或者,您可以sudo chown cust:cust ./installScript.sh并且不需要sudo运行。

另外,你可以使用工具作为输入。

#!/bin/bash
patch -i <package-name> &&
xdotool keydown n

相关内容