Bash - przekieruj zarówno standardowe wyjście, jak i błąd standardowy do tego samego pliku
- 1535
- 118
- Klaudia Woś
Bash Shell jest najpopularniejszą skorupą w systemach Linux i aby efektywnie korzystać z powłoki, potrzebujesz trochę wiedzy na temat przekierowań powłoki bash. Jest to również niezbędny krok w nauce scenariuszy Bash.
W tym przewodniku pokażemy, jak przekierować standardowe wyjście i błąd standardowy do tego samego pliku w wierszu poleceń Bash Shell. Obejmie to kilka przykładów, dzięki czemu możesz wybrać odpowiednią metodę w dowolnym scenariuszu.
W tym samouczku nauczysz się:
- Jak przekierować standardowe wyjście i błąd standardowy do tego samego pliku
- Jak przekierować standardowe wyjście i błąd standardowy do pliku i terminalu
- Jak przekierować standardowe wyjście i błąd standardowy do /dev /null
Kategoria | Wymagania, konwencje lub wersja oprogramowania |
---|---|
System | Każda dystrybucja Linux |
Oprogramowanie | Bash Shell |
Inny | Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo Komenda. |
Konwencje | # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny |
Przekieruj standardowe wyjście i błąd standardowy
Najpierw omówmy, jak przekierować standardowe wyjście do pliku. Jeśli masz już te podstawy bash, nie krępuj się przejść do przykładowych poleceń.
Zwykle używasz >
Do przekierowania i dołączania do istniejącego pliku, użyłbyś >>
.
$ echo "Linuxconfig.org "> nowy plik.txt i $ echo "Linuxconfig.org ">> istniejący plik.tekst
W przypadku tych poleceń standardowe wyjście zostaną przekierowane do pliku, a błąd standardowy jest wyświetlany na ekranie. Jeśli jesteś nowy w Linux, „standardowe wyjście” jest tylko zwykłym, oczekiwanym wyjściem z uruchomienia polecenia lub skryptu, a „błąd standardowy” to wszelkie pojawiające się komunikaty o błędach.
Aby zamiast tego przekierować błąd standardowy, możemy użyć 2>
. Spowoduje to, że standardowe wyjście pojawią się na naszym ekranie i wyśle wszystkie komunikaty o błędach do pliku.
$ echo "Linuxconfig.org "2> nowy plik.tekst
Z podanymi podstawami omówimy teraz różne przykłady poleceń do przekierowania standardowego wyjścia i błędu standardowego do tego samego pliku.
- Aby przekierować standardowe wyjście i błąd standardowy do tego samego pliku, użyj następującej składni polecenia. W szczególności dołącz
2> i 1
do końca zwykłego polecenia.$ echo "Linuxconfig.org "> nowy plik.TXT 2> i 1
- Nieco łatwiejszym sposobem na osiągnięcie tej funkcjonalności jest z
I>
operator. Zauważ, że działa to dobrze w Bash i ZSH, ale nie w innych powłokach, więc użyj poprzedniego przykładu, aby uzyskać maksymalną kompatybilność z innymi systemami.$ echo "Linuxconfig.org "&> nowy plik.tekst
- Aby dołączyć standardowy wyjście i błąd standardowy do pliku, który już istnieje, użyj tej samej składni powyżej, ale z
>>
Operator przekierowania.$ echo "Linuxconfig.org ">> istniejący plik.TXT 2> i 1
- Aby stłumić standardowy wyjście i błąd standardowy z terminalu, a także uniknąć generowania pliku, możesz przekierować oba z nich
/dev/null
.$ echo "Linuxconfig.org "> /dev /null 2> i 1
- Aby przekierować standardowe wyjście do jednego pliku i przekierować błąd standardowy do innego pliku, użyj następującej składni.
$ echo "Linuxconfig.org "2> std-err.txt 1> std-out.tekst
- Jeśli chcesz przekierować standardowe wyjście i błąd standardowy do tego samego pliku, a jednocześnie widzieć je oba w terminalu, możemy uzyskać niewielką pomoc od
trójnik
Komenda.$ echo "Linuxconfig.Org "2> i 1 | Tee Nowy plik.tekst
- Jeśli chcesz zobaczyć standardowy wyjście i błąd standardowy na ekranie, a dołączenie je do tego samego pliku, możemy użyć
-A
(Dodatek) Opcja ztrójnik
.$ echo "Linuxconfig.org "2> i 1 | tee -a istniejący plik.tekst
Zamykanie myśli
W tym przewodniku widzieliśmy, jak przekierować zarówno standardowe wyjście, jak i błąd standardowy do tego samego pliku w Bash. Obejmowało to kilku różnych operatorów bash, w zależności od tego, czy chcemy utworzyć nowy plik, czy dołączyć do istniejącego pliku. Nauczyliśmy się również, jak korzystać z trójnik
polecenie, aby zobaczyć standardowy błąd wyjściowy i standardowy na naszym terminalu, jednocześnie zapisując je do pliku. Jesteś teraz ekspertem w przekierowaniu standardowego wyjścia i błędu standardowego do pliku w Bash i jesteś o wiele bliżej opanowania powłoki.
Powiązane samouczki Linux:
- Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
- Rzeczy do zainstalowania na Ubuntu 20.04
- Mastering Bash Script Loops
- Zagnieżdżone pętle w skryptach Bash
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
- Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
- Ubuntu 20.04 Przewodnik
- Jak podwójnie rozruch Kali Linux i Windows 10
- Rzeczy do zainstalowania na Ubuntu 22.04
- Samouczek debugowania GDB dla początkujących