Veo el comando `tmux send-keys` pero ¿hay alguna manera de enviar la salida al panel adyacente?

Veo el comando `tmux send-keys` pero ¿hay alguna manera de enviar la salida al panel adyacente?

En una sesión de tmux, intento averiguar si existe una forma rápida de enviar algunas salidas desde un panel al panel paralelo.

Por ejemplo, si estoy en el panel izquierdo (digamos 0.0) y quiero enviar el resultado del pwdcomando al panel derecho (digamos 0.1). ¿Existe una manera rápida de hacer esto?

Pido disculpas de antemano si esto tiene una respuesta, pero busqué en Google durante demasiado tiempo sin obtener nada más tmux send-keys -t right 'some text'.

En lugar de eso, quiero mostrar el resultado en el panel adyacente, ¿hay alguna manera de hacerlo?

Respuesta1

Quiero mostrar el resultado en el panel adyacente

Si conoce el nombre del archivo del terminal conectado al otro panel (lo que ttyse imprime), puede escribir en él. Ejemplo:

pwd >/dev/pts/1

Pero esto sólomuestrapersonajes allí; no hay interacción con ningún programa que se ejecute en el panel. Usaste la palabra "mostrar", pero no estoy seguro de que sea lo que quieres. La solución también funciona sin tmux.


Si desea enviar la salida a la entrada estándar de algún comando que está a punto de invocar en otro panel, utilice una canalización con nombre:

mkfifo foo
pwd >foo

Ahora vaya a otro shell (otro panel) y lea desde foo:

<foo whatever

Esto tampoco depende de tmux.


Si desea pegar el resultado en otro panel (por ejemplo, para convertirlo en un fragmento de un nuevo comando en un shell allí):

  1. Invocar pwdnormalmente en el panel de origen.
  2. Vaya al modo de copia y copie la salida. Con soporte para mouse, basta con mantener presionado el botón izquierdo del mouse y arrastrar. Después de soltar el botón, el texto seleccionado se almacena en un búfer automáticamente.
  3. Al panel de destino.
  4. Pegue el texto almacenado con paste-buffer( prefix]por defecto).

información relacionada