Ich habe mehrere erstellt, screen
um denselben Codeabschnitt mit unterschiedlichen Parametern auszuführen. So wie ich es derzeit mache, füge ich einen Bildschirm manuell an, übergebe den Befehl und die Argumente und Ctrl a+d
trenne dann diesen Bildschirm. Dann füge ich wieder einen anderen Bildschirm an und übergebe wieder die Argumente und trenne ihn von diesem Bildschirm. Ist es möglich, ein Bash-Skript zu schreiben, um diesen gesamten Vorgang automatisch durchzuführen?
Antwort1
Das Erstellen mehrerer screen
Sitzungen ist wahrscheinlich nicht die beste Option. Screen unterstützt das Konzept, mehrere Fenster in einer Sitzung zu platzieren, was die Handhabung solcher Sammlungen erleichtert. Es gibt ^A 1
usw. ^A 2
und ^A '
um ^A "
zwischen den Fenstern zu wechseln und ^A w
sie aufzulisten.
Wenn Sie mit einer Bildschirmsitzung beginnen, können Sie eine Sitzung und dann die darin enthaltenen Befehle mit etwas wie: starten.
#!/bin/sh
screen -d -m -S test
screen -S test -X screen -t title somecommand someargs...
screen -S test -X screen -t othertitle somecommand otherargs
screen -d -m
startet eine neue getrennte Sitzung, -S
gibt der Sitzung einen Namen oder verweist mit Namen auf eine Sitzung. -X
sendet den Rest der Befehlszeile als Befehl an eine laufende Sitzung, und der screen
Befehl (innerhalb von screen
) öffnet ein neues Fenster und führt dort einen Befehl aus. -t
kann mit verwendet werden, screen
um demFensterein Titel.
Oder Sie können die Befehle für screen
in eine Datei schreiben und dann verwenden, :source
um die Datei auszuführen (ähnlich wie .screenrc
). Im Handbuch finden Sie einige Beispiele und eine Referenz zu den screen
unterstützten Befehlen. (Es gibt eine ganze Menge davon.)