我正在尝试从脚本解析屏幕会话的输出。屏幕的手册页说我可以使用命令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