我尝试创建一个 .sh 文件来检查服务器是否正在运行以及是否启动它。我没有从这个脚本中得到任何回声或任何失败,但它没有运行。有人可以帮我解决这个问题或更好的方法来纠正它。我不是程序员,我只是编辑了一些其他脚本来获得它。
JAVA="java -Xms512M -Xmx3072M -XX:PermSize=128m -jar FTBServer.jar nogui"
DIR="/home/jon/FTB/FTBnew"
if [ "$1" = start ] ; then
if ps -ef | grep FTBServer.jar | grep -v -q grep ; then
echo "Minecraft is already running"
else
echo "Starting!" && cd $DIR && screen -dmS minecraft $JAVA
sleep 7
if ps -ef | grep minecraft_server.jar | grep -v -q grep ; then
echo "Minecraft server started successfully"
else
echo "Minecraft server failed to start"
fi
fi
fi
Run Code Online (Sandbox Code Playgroud)
这就是我得到的,当我运行它时
root@FTB:/home/jon/FTB/FTBnew# bash Check.sh
root@FTB:/home/jon/FTB/FTBnew#
Run Code Online (Sandbox Code Playgroud)
您的所有逻辑都在一个if [ "$1" = start ]块中,因此如果您不在命令行上提供该参数,您的脚本将不会执行任何操作。
您应该首先验证参数:
if [ $# -ne 1 ] || [ "$1" != "start" ]; then
echo "usage: $0 start"
exit 1
else
# your stuff here
fi
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
176 次 |
| 最近记录: |