Bash 从本地sh文件调用远程sh脚本

Bash 从本地sh文件调用远程sh脚本,bash,ssh,centos,Bash,Ssh,Centos,我在CentOS上运行调用远程sh文件的sh脚本时遇到问题。在…上user@host1我有start.sh文件,里面有下一个命令 NODE1_SSH_PATH=user@host2 PROGRAM_HOME=/home/user/app ssh $NODE1_SSH_PATH $PROGRAM_HOME/bin/run.sh > start.log 此脚本的结果如下所示: bash: /home/user/app/bin/run.sh: Permission denied 我尝试使用

我在CentOS上运行调用远程sh文件的sh脚本时遇到问题。在…上user@host1我有start.sh文件,里面有下一个命令

NODE1_SSH_PATH=user@host2
PROGRAM_HOME=/home/user/app

ssh $NODE1_SSH_PATH $PROGRAM_HOME/bin/run.sh > start.log
此脚本的结果如下所示:

bash: /home/user/app/bin/run.sh: Permission denied
我尝试使用chmod运行此脚本,如下所示:

ssh $NODE1_SSH_PATH chmod u+x $PROGRAM_HOME/bin/run.sh > start.log

但在这种情况下,我并没有得到任何结果,日志文件是空的。有人能帮我减缓这个我希望很简单的任务吗?

我相信/home/user/app/bin/run.sh是不可执行的

试试这个

ssh $NODE1_SSH_PATH /bin/bash $PROGRAM_HOME/bin/run.sh > start.log

我认为/home/user/app/bin/run.sh不可执行

试试这个

ssh $NODE1_SSH_PATH /bin/bash $PROGRAM_HOME/bin/run.sh > start.log

chmod u+x
是您执行一次的操作,然后再次尝试像最初一样运行它
chmod
不执行脚本。ssh$NODE1\u ssh\u PATH ls-l$PROGRAM\u HOME/bin/run的输出内容。sh
chmod u+x
是您执行一次,然后像最初一样再次尝试运行它
chmod
不执行脚本。输出的内容是:ssh$NODE1\u ssh\u PATH ls-l$PROGRAM\u HOME/bin/run.shTiago,谢谢你的回答,但是我的脚本中遇到了其他问题,现在我可以运行远程shell文件,但是这个运行会锁定所有其他命令,例如,在同一个sh文件中,其他节点上的其他调用ssh$NODE2\u ssh\u PATH/bin/bash$PROGRAM\u HOME/bin/run.sh>start.log和runner无法到达此行。@Maryan我需要更多有关您尝试执行的操作的详细信息。我可以建议把这句话放在背景中,但这样做可能不安全。我最好知道你想做什么。嗨,蒂亚戈,你的第一个答案已经具备了我所需要的一切,我的评论是我自己错误的结果。谢谢,我说这是一个简单的问题:)我不知道为什么这个脚本在Ubuntu上运行,没有/bin/bash,但在CentOS上需要它。谢谢Tiago,你的回答真的很有帮助,但我在脚本中遇到了另一个问题,现在我可以运行远程shell文件,但这个运行会锁定所有其他命令,例如,在同一个sh文件中,其他节点上的其他调用ssh$NODE2\u ssh\u PATH/bin/bash$PROGRAM\u HOME/bin/run.sh>start.log和runner无法到达此行。@Maryan我需要更多有关您尝试执行的操作的详细信息。我可以建议把这句话放在背景中,但这样做可能不安全。我最好知道你想做什么。嗨,蒂亚戈,你的第一个答案已经具备了我所需要的一切,我的评论是我自己错误的结果。谢谢,我说这是一个简单的问题:)我不知道为什么这个脚本在Ubuntu上工作,没有/bin/bash,但在CentOS上需要它。