为什么在我退出屏幕之前这个Bash代码不能运行?

时间:2015-01-23 21:14:56

标签: linux bash

我编写了一些Bash代码,它应该运行以root身份运行的脚本并运行一些命令,然后屏幕显示一个屏幕会话,然后在该屏幕会话中运行另一个脚本。脚本在这里:

#!/bin/bash
su root -c ./screenRoot.sh
cd /media/kiancross/Minecraft_Server/MinecraftServer/1.6.4_Server
screen -d -m -S MinecraftServer
screen -r MinecraftServer
./start.sh

screenRoot.sh包含以下运行的代码:

#!/bin/bash
chmod u+s $(which screen)
chmod 755 /var/run/screen
rm -fr /var/run/screen/*
exit

出于某种原因,当我运行第一个代码时,它等待mew退出我创建的屏幕,然后它将运行./start.sh脚本。

有谁知道如何解决这个问题?

谢谢

1 个答案:

答案 0 :(得分:1)

./start.sh作为命令参数传递给screen

#!/bin/bash
su root -c ./screenRoot.sh
cd /media/kiancross/Minecraft_Server/MinecraftServer/1.6.4_Server
screen -d -m -S MinecraftServer ./start.sh
screen -r MinecraftServer