向分离的屏幕发送很长的命令会导致“错误远程控制太长”

向分离的屏幕发送很长的命令会导致“错误远程控制太长”

我有很长的命令要发送给独立的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 脚本文件中然后运行或获取它可能要容易得多)。

相关内容