在Gnu屏幕附件上执行命令
GNU Screen是否可以检测会话何时被附加并运行命令? (该命令将是我写的shell脚本)
谢谢。
你究竟想做什么? 这些可能无法完全回答您的问题,但您可以根据自己的需求进行调整:
您可以创建一个名为screenr的脚本,该脚本将在该会话中首次执行脚本后重新挂接屏幕会话。
#!/bin/bash screen -X exec /command/to/run screen -r $@
另一个想法可能是在你的.bashrc中添加一些内容来检查你是否正在运行屏幕,然后执行一个命令。 无论何时启动新的屏幕会话或在屏幕上创建新的shell,它都将运行,但如果您附加已经运行的屏幕会话,它将无法运行。
if [ $TERM = "screen-256color-bce" ]; then /command/to/run fi
编辑:看到你的另一个问题后,看起来屏幕命令setenv可能就是你想要的,但它只为在屏幕上启动的新shell设置环境变量,而不是已经运行的。
screen -X setenv DISPLAY $DISPLAY