Shell script com tela iniciando vários comandos

Shell script com tela iniciando vários comandos

Escrevi um script simples para iniciar dois servidores Minecraft através da tela. Posso executá-lo bem, mas o problema é que ele atinge o primeiro comando e executa aquela linha corretamente, mas depois entra na tela que cria e vai para o servidor sem nunca iniciar a segunda linha. Como posso forçá-lo a iniciar os dois comandos?

Aqui está o roteiro:

#!/bin/bash
#Launches minecraft servers

#Plugin Test Server
screen -S PluginTest java -Xms1024M -Xmx1024M -XX:MaxPermSize=128M -jar /home/kalenpw/TestWorld/spigot-1.10.jar

#Khalidor Server
screen -S Khalidor java -Xms8192M -Xmx9216M -XX:MaxPermSize=128M -jar /home/kalenpw/KhalidorServer/spigot-1.10.jar

O que acontece é que o primeiro PluginTest funciona bem, mas a segunda linha do Khalidor nunca funciona.

Responder1

Se você adicionar '&' ao final do primeiro comando, isso permitirá que o segundo comando seja executado. Então mude o primeiro comando para:

screen -S PluginTest java -Xms1024M -Xmx1024M -XX:MaxPermSize=128M -jar /home/kalenpw/TestWorld/spigot-1.10.jar &

O '&' faz com que o comando seja executado em segundo plano. Se você adicionar um ao final do segundo comando, você retornará a um prompt após executar o script, e ambos os comandos serão executados em segundo plano. Você poderá vê-los executando o comando ‘jobs’.

informação relacionada