Führen Sie den Befehl in einer getrennten tmux-Sitzung aus


24

Das ist wahrscheinlich einfach, aber ich kann wirklich nicht herausfinden, wie Sie es tun. Ich habe die Manpages gelesen und ergebnislos gegoogelt.

Problem: Wie führe ich einen Befehl in einem getrennten tmux-Fenster aus?

Beispiel: Ich möchte, dass in meinem abgetrennten Fenster 'foo' 'ls' ausgeführt wird, aber ich möchte dies von einem anderen Terminal aus tun.

Ich habe Sachen wie 'tmux -t foo ls' ohne Ergebnisse ausprobiert.

Antworten:


39

Der Befehl lautet send. sendist eine Tastenfolge, behandeln Sie sie dementsprechend (z. B. möchten Sie wahrscheinlich ENTER). Das Ziel wird mit angegeben -t. Sie können foo.0 oder foo.1 wünschen, abhängig von dem Bereich, den Sie schlagen möchten.

tmux send -t foo.0 ls ENTER

sendist eine Abkürzung für send-keys, die sich in den Manpages befindet, aber vielleicht ein bisschen schwierig in dieser Meile Text zu finden ist.


Gute Antwort. Sehr informativ und wirkt charmant. Vielen Dank!
Accatyyc

Die majestätischste Lösung für dieses Problem! Massiver Dank!
3.

2
Beachten Sie, dass Sie ein bestimmtes Fenster in einer bestimmten Sitzung durch einen Doppelpunkt trennen müssen =>tmux send-keys -t foosession:foo.0 ls ENTER
nickspoon

Wenn Sie Leerzeichen zwischen Wörtern senden möchten, müssen Sie den Befehl mit zwei Apostrophen umgeben. Der ENTER-Befehl sollte sich noch außerhalb befinden. Dies funktioniert für mich auf UBUNTU 16.04: tmux send -t session_name 'echo durp'ENTER
TrollAxeThrower
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.