在远程主机上运行本地bash脚本

时间:2018-11-03 00:08:13

标签: bash ssh ruby-on-rails-5 remote-execution

我有这个bash脚本,它可以反复打开一个终端,而无法关闭它们并保持一个接一个。这样做的目的是使碰巧执行此程序的任何人都烦恼。这是它的源代码:

df <- data.frame(var1=1:5,var2=6:10)
promptData(df,filename = "df_doc.Rd")

我已经测试过了,它确实可以按照我想要的方式工作。我想做的是在远程主机上执行此脚本。在Rails网站上的ruby网站上,我设置了一个图像以尝试通过单击该脚本来运行该脚本。当有人这样做时,他们将运行一个称为call_script2的控制器功能,这就是我到目前为止的内容:

#!/bin/bash
while true

do
  gnome-terminal -x sh -c "./<name-of-script.sh>; bash"
  clear
  sleep 1
  trap '' 2
  exit
done

我要完成的工作是当远程主机单击某个图像时在远程主机上运行bash脚本的内容。如您所见,我尝试将主机脚本上传到根目录下,然后尝试运行bash程序,但未成功。如果无法使用SSH,我可以使用SSH以外的其他工具。

请随时分享您的想法,并感谢您抽出宝贵的时间阅读我的文章。祝你有美好的一天!

更新:我可以通过使用以下命令来实现此目标:

def call_script2
   remote_ip = request.ip
   #system("scp /home/ncs/<script.sh> root@#{remote_ip}:/root/")
   system("ssh root@#{remote_ip} sudo home/ncs/./<script.sh>")
   render 'script/index'
end

感谢所有对此帖子发表评论的人,以帮助我!

0 个答案:

没有答案