S3n*_*tri 4 server command-line bash scripts gnu-screen
我一直致力于创建一个 shell 脚本,浏览各种论坛,包括这个论坛,并使用各种搜索词,但没有运气。我希望我没有创建重复的问题。
我们有一个游戏服务器,我们必须在重启或崩溃后手动初始化屏幕,但希望将我们的几个命令打包到一个脚本中以减少停机时间。我想做的是制作一个脚本来创建一个屏幕会话,切换到它,并在新会话中执行 shell 脚本。
我已经在 shell 脚本中尝试了下面的代码。
#!/bin/sh
screen -S tf2
./startserver.sh
Run Code Online (Sandbox Code Playgroud)
当我执行脚本时,它会创建屏幕“tf2”并根据需要进入会话。服务器没有在我想要的地方启动,但是它在我执行它的屏幕会话之外启动。我们需要它在 screen 会话中,这样我们的游戏服务器就可以在没有任何人参与终端的情况下在线。
我还不是最好的 shell 脚本,但我愿意学习,我做错了什么吗?我应该用另一种方式解决这个问题吗?
如概要中所述,man screen如果您想在屏幕中运行命令,则需要将其附加到命令发布屏幕。所以在你的情况下它看起来像
#!/bin/sh
screen -S tf2 ./startserver.sh
Run Code Online (Sandbox Code Playgroud)
但是我不知道你的 shell-script 是否在 screen 的工作目录中,这样做更聪明
#!/bin/sh
screen -S tf2 /full/path/to/startserver.sh
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13615 次 |
| 最近记录: |