Bash - przekieruj zarówno standardowe wyjście, jak i błąd standardowy do tego samego pliku

Bash - przekieruj zarówno standardowe wyjście, jak i błąd standardowy do tego samego pliku

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
Różne przykłady BASH do przekierowania standardowego wyjścia i błędu standardowego do tego samego pliku Wymagania oprogramowania i konwencje linii poleceń Linux
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.

  1. 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 


  2. 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 
  3. 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 
  4. 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 
  5. 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 


  6. 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 
  7. 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 z tró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