开始分离的屏幕会话

我想开始屏幕分离的会话,但我想评估一些bash。 看来屏幕只支持可执行文件和二进制文件。 我想要做一些魔术如:

screen -d -m script.sh 2>&1 | tee logfile.log 

但是这显然不起作用。 引用在这里没有帮助。 我唯一的想法是创build一个包装脚本,将做这个redirect,然后直接调用它,如:

 screen -d -m wrapper_script.sh 

任何其他的想法? 谢谢。

你可以在屏幕上运行一个bash shell,然后运行你的脚本。

我刚刚testing过这个:

 screen -d -m bash -c 'vmstat 5 3 2>&1 | tee logfile.log' 

这给了我这个:

 kenny@t520:~$ cat logfile.log procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- rb swpd free buff cache si so bi bo in cs us sy id wa 1 0 0 5864764 103072 884512 0 0 66 36 1236 1818 17 6 77 0 0 0 0 5864252 103072 884512 0 0 0 0 311 574 1 1 98 0 1 0 0 5861532 103080 884512 0 0 0 4 1244 2302 4 2 94 0 

所以这也应该工作:

 screen -d -m bash -c 'script.sh 2>&1 | tee logfile.log' 

你有没有尝试指定-L屏幕选项写入日志?

您还可以使用~/.screenrc文件来指定日志的名称 – 以下是我的内容:

 defutf8 on deflog on logfile /home/me/convert.log multiuser on