Chcę uruchomić polecenie foo na jednym terminalu i przekazać wynik do innego terminala. Czy można to zrobić?
command-line
gnome-terminal
Mohammad Reza Rezwani
źródło
źródło
Odpowiedzi:
Tak to jest. Obraz wart tysiąca słów:
Musisz przekierować dane wyjściowe polecenia za pomocą
>
operatora do/dev/pts/#
. Możesz znaleźć#
za pomocąwho
lubw
polecenia. Jeśli chcesz przekierować i błędy, użyj:źródło
gnome-terminal
i wykryje tty (za pomocątty
polecenia) nowego terminala, a na koniec wyśle do niego dane wyjściowe.Coś takiego dla twojego
$HOME/.bashrc
:Uruchomi to polecenie i wyświetli wynik w nowym oknie terminala.
Przykłady:
Edycja: Aby wziąć pod uwagę aliasy,
$HOME/.bashrc
użyj tego zamiast tego:następnie wyjście
ls
powinno być pokolorowane (dzięki Radu Rădeanu za tę podpowiedź ).źródło
type ls
a potemng type ls
:)ng() { gnome-terminal -x sh -c "$*; bash" ;}
powinno być lepiej. A jeśli używasz xfce (xfce4-terminal jako domyślny emulator):ng() { xfce4-terminal -x sh -c "$*; bash" ;}
lub możesz po prostu uruchomić dowolny domyślny emulatorng() { x-terminal-emulator -x sh -c "$*; bash";}