so verständlicher?
Code:
#!/bin/bash
basis_pfad="/home/nopes/meine_minecraft_server/"
Pidfile="/var/run/meine_minecraft_Steuerung.pid" # pid gehören in /var/run verwahrt
server_pfade=("${basis_pfad}foo" "${basis_pfad}bar" "${basis_pfad}etc")
for server_pfad in ${server_pfade[@]}; do
echo "starte instanz in '${server_pfad}'"
cd "$server_pfad "
nohup ./start.sh &> /dev/null &
#echo $! > $Pidfile
# ah und noch was, wenn ich da jetzt so drüber schau, hier hast du einen bug ein geskripptet
# du hast ja mehrere server - die haben aber keine eigene pid-datei!!!
done
echo "bye"
exit 0
Idee ist, das for in den entsprechenden cases (start,stop) zu verwenden
[edit]
Aber wie im Kommentar des Skripts ersichtlich ist, so richtig gut ist der noch nicht. Du kannst halt nicht prüfen, ob der eine oder andere läuft, also sauberer:
schreibe je Server einen Start/Stop Skript und implementiere dabei status
schreibe anschließend einen weiteren Skript, der zur Verwaltung dient; falls das dann überhaupt noch notwendig ist - jedenfalls keep fighting
[edit2]falls du eine Verwaltung willst, einfacher und dennoch dynamischer Ansatz ist:
lege alle Start/Skripte in einem eigenen "Verzeichnis" ab, keine anderen Dateien sind in diesem Verzeichnis!
"linke" die Skripte nach /etc/init.d - wie erwähnt "Init System", wegen Autostart und so
im Verwakltungs Skript erzeugst du ein Feld aus den Dateinamen in dem "Verzeichnis"
der Rest sollte klar sein
Lesezeichen