Befehle auf eine Konsole in einer Screen Session absetzen
24.04.2008
Befehle auf eine Konsole in einer Screen Session absetzen
Ich musste ein bisschen suchen bis ich es gefunden hatte, aber ich denke es ist durchaus gut zu wissen, dass man auch ausserhalb einer Screen Session Befehle auf einer Konsole innerhalb der Session absetzen kann.
screen -S sessionname -X eval 'stuff befehl\015'
Mit dem Schalter -S lege ich fest an welche Session der Befehl gehen soll. Alternativ kann man hier auch mit -r arbeiten. Hauptsache man teilt Screen mit wohin das ganze gehen soll. -X spezifiziert den Befehl der an die Session gelenkt werden soll. eval sorgt dafür das der String den wir übergeben noch einmal geparsed wird, hierbei wird auch das \015 in ein Carriage Return umgesetzt (Oktale Schreibweise des CR). Das 'stuff befehl\015' ist das eigentlich schreiben an die Konsole. stuff ist ein interner Screen Befehl der für das Schreiben sorgt. Somit landet auf der Konsole befehl(Enter) und der Befehl wird geschrieben und Dank dem simulierten Enter abgeschickt. Geschickt wird immer an das aktuell geöffnete Window in der Screen Session. Um ein spezielles Window in Screen anzusprechen müsste es noch mit -p festgelegt werden. Habe ich allerdings selber noch nicht ausprobiert.
