Je veux exécuter une commande foo sur un terminal et transmettre le résultat à un autre terminal. Est-il possible de faire cela ?
Je veux exécuter une commande foo sur un terminal et transmettre le résultat à un autre terminal. Est-il possible de faire cela ?
Réponses:
Oui, ça l'est. Une image vaut mille mots:
Donc, vous devez rediriger la sortie de votre commande en utilisant >
operator to /dev/pts/#
. Vous pouvez trouver en #
utilisant who
ou w
commande. Si vous voulez rediriger les erreurs, utilisez:
<command> >& /dev/pts/#
gnome-terminal
et détecter le tty (utilisant la tty
commande) du nouveau terminal et finalement lui envoyer le résultat.
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 prendre en compte les alias $HOME/.bashrc
utilisés, utilisez plutôt ceci:
ng() { gnome-terminal -x bash -ic "$*; bash"; }
alors la sortie de ls
devrait être colorée (merci à Radu Rădeanu pour cet indice ).
type ls
et ensuite ng type ls
:)
ng() { gnome-terminal -x sh -c "$*; bash" ;}
devrait être mieux. Et si vous utilisez xfce (xfce4-terminal en tant qu'émulateur par défaut): ng() { xfce4-terminal -x sh -c "$*; bash" ;}
ou vous pouvez simplement exécuter n'importe quel émulateur par défautng() { x-terminal-emulator -x sh -c "$*; bash";}