web-dev-qa-db-fra.com

Écrire une commande dans un terminal, voir le résultat sur un autre

Je veux exécuter une commande foo sur un terminal et transmettre le résultat à un autre terminal. Est-il possible de faire cela ?

35

Oui, ça l'est. Une image vaut mille mots:

radu's terminal

Vous devez donc rediriger la sortie de votre commande à l'aide de l'opérateur > vers /dev/pts/#. Vous pouvez trouver # à l'aide de la commande who ou w. Si vous voulez rediriger les erreurs, utilisez:

<command> >& /dev/pts/#
46
Radu Rădeanu

Quelque chose comme ça pour votre $HOME/.bashrc:

ng() { gnome-terminal -x sh -c "$*; bash"; }

Cela lancera une commande et affichera le résultat dans une nouvelle fenêtre de terminal.

Exemples:

ng ls -l
ng echo foo

Edit: Pour considérer les alias du $HOME/.bashrc, utilisez ceci à la place:

ng() { gnome-terminal -x bash -ic "$*; bash"; }

alors la sortie de ls devrait être colorée (merci à Radu Rădeanu pour cela indice ).

8
TuKsn