Je veux exécuter une commande foo sur un terminal et transmettre le résultat à un autre terminal. Est-il possible de faire cela ?
Oui, ça l'est. Une image vaut mille mots:
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/#
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 ).