如何以非交互方式设置 GNU 屏幕日志文件名

如何以非交互方式设置 GNU 屏幕日志文件名

我正在尝试从脚本解析屏幕会话的输出。屏幕的手册页说我可以使用命令logfile,但没有指示在非交互方式启动屏幕时要使用的语法。

我想做这样的事情:

screen -L -d -m executable.app 

但是,不是将输出写入screenlog.0,而是将其写入我选择的文件中。

答案1

我能想到的唯一自定义日志文件名的方法是创建一个临时的 .screenrc,添加logfile <LOG-NAME>到其中并告诉 screen 使用它。像这样:

cp ~/.screenrc /tmp/
echo "logfile CUSTOM_NAME" >> /tmp/.screenrc
screen -c /tmp/.screenrc -L -d -m <PROGRAM>

答案2

我使用以下命令通过特定日志文件启动屏幕会话。

screen -dmS <sock_name> && \
screen -S <sock_name> -X logfile <logfile_name> && \
screen -S <sock_name> -X log

描述:

screen -dmS <sock_name>                         #Start detached screen session
screen -S <sock_name> -X logfile <logfile_name> #Use logfile command to set logging file
screen -S <sock_name> -X log                    #Use log command to start logging

相关内容