Запустити команду в окремому сеансі tmux


24

Це, мабуть, просто, але я дійсно не можу дізнатися, як ви це робите. Я прочитав сторінки чоловіків і гугл без результатів.

Проблема: Як запустити команду в окремому вікні tmux?

Приклад: Я хочу, щоб моє відокремлене вікно 'foo' запустило 'ls', але я хочу це зробити з іншого терміналу.

Я спробував такі речі, як: 'tmux -t foo ls' без результатів.

Відповіді:


39

Команда є send. sendє ключовою послідовністю, тому ставитесь до неї відповідно (наприклад, ви, мабуть, захочете ENTER). Ціль вказана за допомогою -t. Ви можете захотіти foo.0 або foo.1 залежно від області, яку ви хочете натиснути.

tmux send -t foo.0 ls ENTER

sendце короткий текст send-keys, який знаходиться на сторінках man, але, можливо, трохи важко знайти цю милю тексту.


Чудова відповідь. Дуже інформативний і спрацьовує чарівність. Спасибі!
Accatyyc

Найбільш величне рішення цього питання! Велике спасибі!
3bdalla

2
Зауважте, що для націлювання на конкретне вікно в конкретному сеансі ви розділите їх двокрапкою =>tmux send-keys -t foosession:foo.0 ls ENTER
nickspoon

Якщо ви хочете надіслати пробіли між словами, вам слід оточити команду двома апострофами. Команда ENTER все ще повинна знаходитися зовні. Це працює для мене на UBUNTU 16.04: tmux send -t session_name 'echo durp'ENTER
TrollAxeThrower
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.