屏幕-启动时执行命令

屏幕-启动时执行命令

我在 Google/SE 上找不到这个信息,如果这只是我的措辞,请原谅。

我想让 screen 在启动时执行一个命令。使用伪代码,执行

 screen -S SomeScreen -c SomeScript.sh

会让它自动执行 SomeScript.sh,而无需进入屏幕并输入此内容。谢谢!

(屏幕命令没有标签)

答案1

您可以使用(大写 X,小写 x 表示其他内容 ;) )-X开关screen向现有屏幕会话发送命令。因此,您可以执行类似以下操作

screen -md
screen -p 0 -X stuff $'echo "Test"\n'
screen -r

但我认为这不符合你的任务更轻松;)

答案2

查看语法man screen

screen [ -options ] [ cmd [ args ] ]

cmd是在会话中运行的命令。因此,输入screen SomeScript.sh将使其自动执行 SomeScript.sh,而无需进入屏幕并输入此命令。

如果您正在寻找一种方法让屏幕在每次启动新会话时执行一些命令,我​​可以将它们放入 ~/.screen-start 并在 .bashrc 末尾放置如下内容:

if [ -n "$STY" ]; then
  source ~/.screen-start
fi

由于 screen 将 $STY 设置为 screen 会话标识符,因此您可以测试它是否已设置以了解 screen 是否正在运行。由于 screen 在调用时无需特定命令即可启动登录 shell,因此它将执行 .bashrc。

可能有更好的方法;由于这个方法对我来说很有效,所以我就不再寻找了。

答案3

如果您的意思是要在操作系统启动时执行某些操作......

转到startup applications并通过选择 将此命令添加到列表中add

您可以通过按下 Windows 键并输入来进入启动应用程序。

相关内容