我在 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 键并输入来进入启动应用程序。