Esegui il comando in una sessione tmux staccata


24

Questo è probabilmente semplice, ma non riesco davvero a capire come lo fai. Ho letto le pagine man e ho cercato su Google senza risultati.

Problema: come posso eseguire un comando in una finestra tmux staccata?

Esempio: voglio che la mia finestra staccata 'pippo' esegua 'ls', ma voglio farlo da un altro terminale.

Ho provato cose del tipo: 'tmux -t foo ls' senza risultati.

Risposte:


39

Il comando è send. sendè una sequenza chiave, quindi trattala di conseguenza (ad esempio, probabilmente vorrai ENTER). L'obiettivo è specificato con -t. Potrebbe essere necessario foo.0 o foo.1 a seconda del riquadro che si desidera colpire.

tmux send -t foo.0 ls ENTER

sendè l'abbreviazione di send-keys, che si trova nelle pagine man, ma forse un po 'difficile da trovare in quel miglio di testo.


Bella risposta. Molto istruttivo e ha un fascino. Grazie!
Accatyyc,

La soluzione più maestosa per questo problema! Grazie enormi!
3bdalla,

2
Nota che per scegliere come target una finestra specifica in una sessione specifica, devi separarli con due punti =>tmux send-keys -t foosession:foo.0 ls ENTER
nickspoon

Se si desidera inviare spazi tra le parole, è necessario racchiudere il comando con due apostrofi. Il comando INVIO dovrebbe essere ancora esterno. Questo funziona per me su UBUNTU 16.04: tmux send -t session_name 'echo durp'ENTER
TrollAxeThrower
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.