Sandro Asked: 2010-10-29 20:38:28 +0800 CST2010-10-29 20:38:28 +0800 CST 2010-10-29 20:38:28 +0800 CST 在 Gnu Screen 附件上执行命令 772 GNU Screen 是否可以检测何时附加了会话并运行命令?(该命令将是我编写的 shell 脚本) 谢谢。 gnu-screen 1 个回答 Voted Best Answer AdamR 2010-10-29T23:21:55+08:002010-10-29T23:21:55+08:00 你到底想做什么?这些可能不能完全回答您的问题,但您可以根据您的需要调整它们: 您可以创建一个名为 screenr 的脚本,该脚本将在该会话中首次执行脚本后重新附加屏幕会话。 #!/bin/bash screen -X exec /command/to/run screen -r $@ 另一个想法可能是在你的 .bashrc 中放一些东西来检查你是否正在运行屏幕,然后执行一个命令。每当您启动新的屏幕会话或在屏幕中创建新的外壳时,它都会运行,但如果您附加已经运行的屏幕会话,它将不会运行。 if [ $TERM = "screen-256color-bce" ]; then /command/to/run fi 编辑:在看到你的其他问题之后,看起来屏幕命令 setenv 可能是你想要的,但它只为在屏幕中启动的新 shell 设置环境变量,而不是已经运行的 shell。 screen -X setenv DISPLAY $DISPLAY
你到底想做什么?这些可能不能完全回答您的问题,但您可以根据您的需要调整它们:
您可以创建一个名为 screenr 的脚本,该脚本将在该会话中首次执行脚本后重新附加屏幕会话。
另一个想法可能是在你的 .bashrc 中放一些东西来检查你是否正在运行屏幕,然后执行一个命令。每当您启动新的屏幕会话或在屏幕中创建新的外壳时,它都会运行,但如果您附加已经运行的屏幕会话,它将不会运行。
编辑:在看到你的其他问题之后,看起来屏幕命令 setenv 可能是你想要的,但它只为在屏幕中启动的新 shell 设置环境变量,而不是已经运行的 shell。