我想从另一个屏幕会话(B)控制屏幕会话(A)。因此,我写了一个小脚本,我将在会话B中运行:
#!/bin/sh
clear
while :
do
screen -S SessionA -X stuff '^C'
screen -S SessionA -X stuff 'java -jar jarFile.jar'
screen -S SessionA -X stuff `echo -ne '\015'`
sleep 30
done
因此它基本上结束了会话A的当前进程,并通过发送java命令和Enter-stroke重新启动它。
使用echo -ne '\015'
发送输入笔画在终端中完美运行。但是,它不适用于脚本。
有没有人知道:
如何从脚本或简单地向屏幕会话发送命令
如何从脚本向屏幕会话发送Enter-stroke?
答案 0 :(得分:0)
我自己找到了答案。
如果有人遇到同样的问题:不要使用echo -ne '\015'
而只是在命令的末尾添加^M
。
新脚本:
#!/bin/sh
clear
while :
do
screen -S SessionA -X stuff '^C'
screen -S SessionA -X stuff 'java -jar jarFile.jar^M'
sleep 30
done