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.