我有很长的命令要发送给独立的screen
.我用了 :
screen -x screen-name -p 1 -X stuff 'mycommand\n'
受此启发相关帖子。它有效,但如果mycommand
很长,我会收到屏幕错误:
遥控时间太长
我无法将命令切成小块。它像是:
( { script1.sh; script2.sh; } </dev/null &>/dev/null &)
有许多脚本和mv
脚本之间的操作。
那么,我怎样才能screen
接受这些长命令行呢?感谢您的帮助!
答案1
Screen 的stuff
命令并不运行命令,而是模拟打字。听起来你有一个 shell 在屏幕会话中运行,它正在读取它认为正在输入的内容,并在收到换行符时运行它。
所以你可以把命令切成小段;如果需要,您可以一次发送一个字符。屏幕内的 shell 至少在您发送最后一个字符\n
.
(也就是说,将整个内容放入 shell 脚本文件中然后运行或获取它可能要容易得多)。