Zeichenkette senden von Command line an screen session

ebastler

Volt-Modder(in)
Hallo,

auf meinem Homeserver (Ubuntu Server, ohne GUI) möchte ich gerne für Minecraft einige Daten an die Serverkonsole senden, CPU-Temperatur usw., alle 30min.
Momentan mache ich das über /say, was auch funktioniert. Ich würde aber lieber /tellraw benutzen, da ich damit farbige Texte ohne "[SERVER]" als Autor an die Client-Chats senden kann.
Mein Minecraft-Befehl lautet also:
Code:
tellraw @a {"text":"mein text hier",color:gold}
Damit sende ich an alle Clients am Server in goldener Schrift 'mein text hier'.

So weit so gut. Also habe ich mein Script hergenommen, das ich auch schon mit /say erfolgreich verwendet hab. Der relevante Befehl sieht so aus:
Code:
screen -p 0 -S minecraft -X eval "stuff \"say mein text hier\"\015"
Ergebnis davon in der Screen Session:
say mein text hier
Zur Fehlerkorrektur schicke ich nun die Befehle statt an die minecraft-Screen-Session an eine Session, in der ich nano offen habe, da ich dort alles sehe, was an die Session geschickt wird.

Hier mein Code dazu:
Code:
screen -p 0 -S nanotest -X eval "stuff \"tellraw @a {"text":"mein Text hier",color:gold}\"\015"
Und das ist es, was im Screen als Fehlermeldung auftaucht:
-X: stuff: missing " quote

Schicke ich nun aber etwas ohne Leerzeichen, zum Beispiel das hier:
Code:
screen -p 0 -S nanotest -X eval "stuff \"tellraw @a {"text":"test",color:gold}\"\015"
Dann taucht das so in Screen auf:
tellraw @a {text:test,color:gold}

Fazit: Stuff verschluckt mir irgendwie alle Anführungszeichen, und dann kommt in der Screen Session nur mehr Mist an.

Dann habe ich mal versucht, die Anführungszeichen zu escapen, also das hier:
Code:
screen -p 0 -S nanotest -X eval "stuff \"tellraw @a {\"text\":\"mein text hier\",color:gold}\"\015"
Fehlermeldung, die im screen steht:
-X: stuff: no, one, or two argument required
(I have no idea what I am doing :P)

Auch diverse Versuche, ' statt " einzusetzen an manchen Stellen hat überhaupt nichts geholfen... Einen meiner hier geschilderten Fehler kriege ich immer.

Mein Wissen in Bash ist leider sehr beschränkt, und das hier geht bereits weit darüber hinaus.
Vielleicht kann mir hier ja jemand ein paar Tipps geben, was ich machen kann...
Das Problem ist ja auch nicht auf Minecraft beschränkt, es geht eher darum, wie ich eine beliebige Zeichenkette an einen screen gesendet kriege.

mfg,
ebastler
 
Hat sich dank eines Kumpels gelöst, der es hingekriegt hat. Falls jemand Interesse hat, kann ich morgen die Lösung posten, wenn nicht, darf der Thread gern geschlossen werden :)
 
Zurück