我遇到的情况是,我的安装进度涉及一个命令,假设我有用于patch
安装的命令(不是真正的命令),我想用No
一个自定义用户填写第一个提示,我做了一个像这样的脚本
#!/bin/bash
patch -i <package> << EOF
No
EOF
chmod 777
然后我在执行该文件时将其放入,但./installScript.sh
它的权限被拒绝,但. installScript.sh
效果很好。
如果我手动执行该命令patch
,也可以正常工作。以下是我想问的问题: 1/通过这个论坛我知道了和以前
的区别,但我不明白为什么shell会影响权限? 2/有没有办法可以在我的脚本中绕过这个?目标是我可以使用而不是./file
. file
./installScript.sh
. installScript.sh
答案1
我知道 ./file 和 .文件之前通过这个论坛,但我不明白为什么shell会影响权限?
我也不。但要检查的事情......
- /bin/bash 是否存在并且可以执行吗?
- 您的脚本是否位于使用 noexec 挂载的文件系统上?
- 您是否正在运行任何 MAC 系统(apparmor、SELinux、smack)?
有没有办法可以在我的脚本中绕过这个?目标是我可以使用 ./installScript.sh 而不是 .安装脚本
运行ssh user@remote "bash installScript.sh"
相当于. installScript.sh
在交互式会话中。