ich habe hier ein kleines Tool (Remote-Konsole für einen Gameserver ... nein, kein Mindcraft ) dessen Ausgabe ich über eine while-Schleife einlesen bzw. weiterverarbeiten möchte. Das Tool gibt in einer Dauerschleife Daten aus, kann aber auch Befehle annehmen die man direkt während der Laufzeit eintippt. Nun möchte ich bei bestimmten Vorkommnissen die das Tool meldet entsprechend reagieren und Befehle an das Tool übergeben.
Ich habe schon einiges versucht aber es mag nicht so recht gelingen. Es lässt sich bestimmt mit einer Umleitungen oder Pipe realisieren aber ich wüsste nicht wohin ich das umleiten soll ...
Hier mal ein gekürzter Auszug aus meinem Script:
Code: Alles auswählen
#!/bin/bash
INI="$1"
[ ! -f "$INI" ] && exit
ENTERSEQ=`echo -ne '\015'`
./yxz.run ini=$INI | while read -r OUTPUT; do
echo "["$(date +"%d-%m-%Y %T")"] $OUTPUT"
[ "$OUTPUT" == "XYZ" ] && cat <<< "hello$ENTERSEQ"
done
Wenn das Script in einer screen-Session läuft kann ich mit folgendem Befehl einen weiteren Befehl an das Tool senden:
Code: Alles auswählen
ENTERSEQ=`echo -ne '\015'`
screen -S XYZ -p 0 -X stuff 'exit'$ENTERSEQ
Gruß