¿Cómo dividir una nueva ventana y ejecutar un comando en esta nueva ventana usando tmux?

Pregunta:

Yo he tratado

tmux -c "shell command" split-window

pero no parece funcionar.

Usando tmux split-window , se puede dividir una nueva ventana.

ACTUALIZAR :

El uso de tmux split-window 'exec ping g.cn' puede ejecutar el comando ping, pero cuando se detiene, la nueva ventana se cerrará.

Respuesta:

Usar:

tmux split-window "shell command"

El comando de split-window tiene la siguiente sintaxis:

 split-window [-dhvP] [-c start-directory] [-l size | -p percentage] [-t target-pane] [shell-command] [-F format]

(de man tmux , sección "Ventanas y Paneles"). Tenga en cuenta que el orden es importante: el comando debe ir después de cualquiera de las opciones anteriores que aparecen y debe ser un solo argumento, por lo que debe citarlo si tiene espacios.


Para comandos como ping -c que terminan rápidamente, primero puede configurar la opción remain-on-exit :

tmux set-option remain-on-exit on
tmux split-window 'ping -c 3 127.0.0.1'

El panel permanecerá abierto después de que finalice el ping , pero se marcará como "muerto" hasta que lo cierre manualmente.

Si no desea cambiar las opciones generales, existe otro enfoque. El comando se ejecuta con sh -c , y puedes aprovecharlo para que la ventana permanezca viva al final:

tmux split-window 'ping -c 3 127.0.0.1 ; read'

Aquí usa el comando de read shell para esperar una nueva línea de entrada del usuario después de que el comando principal haya finalizado. En este caso, la salida del comando permanecerá hasta que presione Entrar en el panel, y luego se cerrará automáticamente.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım