在 Gnu Screen 附件上执行命令

在 Gnu Screen 附件上执行命令

GNU Screen 是否可以检测会话何时已连接并运行命令?(该命令将是我编写的 shell 脚本)

谢谢。

答案1

你到底想做什么?这些可能不能准确回答你的问题,但你也许可以根据自己的需要进行调整:

您可以创建一个名为的脚本screenr,该脚本将在该会话中第一次执行脚本后重新连接屏幕会话。

#!/bin/bash
screen -X exec /command/to/run
screen -r "$@"

另一个想法可能是将某些东西放入您的程序中.bashrc以检查您是否正在运行 screen,然后执行命令。只要您启动新的 screen 会话或在 screen 中创建新的 shell,该命令就会运行,但如果您附加了已在运行的 screen 会话,该命令就不会运行。

if [ $TERM = "screen-256color-bce" ]; then
    /command/to/run
fi

看了您的其他问题后,看起来屏幕命令 setenv 可能是您想要的,但它仅为在屏幕中启动的新 shell 设置环境变量,而不是已经运行的 shell。

screen -X setenv DISPLAY $DISPLAY

相关内容