我看过一些类似的问题,但解决方案似乎不适用于我的情况。附加到GNU屏幕上,然后执行命令
我想SSH到一个特定的屏幕实例的节点机上,然后执行一些命令
我现在的流程是这样的:
在远程计算机上创建一个屏幕实例:
screen -dmS "my_screen"
从我的本地机器我做这样的事情:
ssh <user>@<remote> -a -x -t screen -x -r my_screen -X stuff 'ruby my_script.rb'
但输出仅仅是:在(IP)
连接关闭。
和ruby脚本未运行。
如果我分隔命令则脚本运行正确例如:
ssh <user>@<remote> -a -x -t screen -x -r my_screen
它连接到屏幕上,然后我手动输入:
ruby my_script.rb
exit
然后,脚本在屏幕作为执行意。
将命令发送到屏幕的正确方法是什么?
自动执行'screen'是kludgey。由于现代建筑和体面的文档,“tmux”更容易自动化。 – chicks