RHEL 7 - 通过 SSH 会话执行命令结果与直接执行不同

RHEL 7 - 通过 SSH 会话执行命令结果与直接执行不同

我遇到的情况是,我的安装进度涉及一个命令,假设我有用于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在交互式会话中。

相关内容