Uruchom polecenie w odłączonej sesji tmux


24

Jest to prawdopodobnie proste, ale naprawdę nie mogę się dowiedzieć, jak to robisz. Przeczytałem strony podręcznika i przejrzałem go bez wyników.

Problem: Jak uruchomić polecenie w odłączonym oknie Tmux?

Przykład: Chcę, aby moje odłączone okno „foo” uruchamiało „ls”, ale chcę to zrobić z innego terminala.

Próbowałem rzeczy takich jak: 'tmux -t foo ls' bez rezultatów.

Odpowiedzi:


39

Poleceniem jest send. sendjest sekwencją klawiszy, więc traktuj ją odpowiednio (np. prawdopodobnie będziesz chciał ENTER). Cel jest określony za pomocą -t. Możesz chcieć foo.0 lub foo.1 w zależności od okienka, w które chcesz trafić.

tmux send -t foo.0 ls ENTER

sendjest skrótem od send-keys, który znajduje się na stronach podręcznika, ale być może jest trochę trudny do znalezienia w tej kilometrze tekstu.


Świetna odpowiedź. Bardzo pouczające i działa urok. Dzięki!
Accatyyc,

Najbardziej majestatyczne rozwiązanie tego problemu! Ogromne dzięki!
3bdalla

2
Zauważ, że aby celować w określone okno w określonej sesji, oddziel je dwukropkiem =>tmux send-keys -t foosession:foo.0 ls ENTER
nickspoon

Jeśli chcesz wysyłać spacje między słowami, powinieneś otoczyć polecenie dwoma apostrofami. Polecenie ENTER powinno nadal znajdować się na zewnątrz. Działa to dla mnie na UBUNTU 16.04: tmux send -t session_name 'echo durp'ENTER
TrollAxeThrower
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.