Ejecutar comando en sesión tmux separada


24

Esto es probablemente simple, pero realmente no puedo descubrir cómo lo haces. He leído las páginas del manual y busqué en Google sin resultados.

Problema: ¿Cómo ejecuto un comando en una ventana tmux separada?

Ejemplo: quiero que mi ventana separada 'foo' ejecute 'ls', pero quiero hacerlo desde otra terminal.

He intentado cosas como: 'tmux -t foo ls' sin resultados.

Respuestas:


39

El comando es send. sendes una secuencia clave, así que trátela en consecuencia (por ejemplo, probablemente querrá ENTER) El objetivo se especifica con -t. Es posible que desee foo.0 o foo.1 dependiendo del panel que desea golpear.

tmux send -t foo.0 ls ENTER

sendes la abreviatura de send-keys, que se encuentra en las páginas de manual, pero quizás un poco difícil de encontrar en esa milla de texto.


Gran respuesta. Muy informativo y funciona a las mil maravillas. ¡Gracias!
Accatyyc

¡La solución más majestuosa para este problema! ¡Muchas gracias!
3bdalla

2
Tenga en cuenta que para apuntar a una ventana específica en una sesión específica, los separa con dos puntos =>tmux send-keys -t foosession:foo.0 ls ENTER
nickspoon

Si desea enviar espacios entre palabras, debe rodear el comando con dos apóstrofes. El comando ENTER aún debe estar afuera. Esto funciona para mí en UBUNTU 16.04: tmux send -t session_name 'echo durp'ENTER
TrollAxeThrower
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.