Polecenie TEE bierze standardowe wejście i wysyła je do jednego lub więcej plików i standardowego wyjścia. Polecenie TEE pochodzi z rur t-splatt. Po prostu rozkłada dane wyjściowe programu, aby można go było pokazać i zapisać w pliku. Wykonuje oba zadania jednocześnie, kopiuje dane wyjściowe do podanych plików lub zmiennych i wyświetla dane wyjściowe.
Składnia:
$ tee [opcje] [plik]
Opcje:
Pliki: Istnieje wiele plików. Dane wyjściowe są zapisywane do każdego z nich.
Domyślnym deskryptorem pliku procesu pisania komunikatów o błędach jest STDERR, często znany jako błąd standardowy. Błędy standardowe można przekazać do wiersza poleceń w BASH. Ten artykuł dotyczy przekierowania wyjścia z STDERR za pomocą polecenia TEE w różnych scenariuszach.
Przekieruj stderr za pomocą polecenia TEE
Błędy standardowe są przekazywane do wiersza poleceń w BASH. Przekierowanie STDERR może umożliwić przechwytywanie komunikatów o błędach w odrębnym pliku dziennika lub całkowicie wyeliminować komunikaty o błędach. Wyjaśnimy procedurę przekierowania STDDERR za pomocą polecenia TEE z następującymi przykładami.
Krok 1: Utwórz plik bash
Najpierw utwórz plik bash „Linux.sh ”za pomocą następującego polecenia:
$ nano Linux.cii
Krok 2: Napisz kod
Teraz napisz następujący kod w pliku lub możesz napisać coś innego zgodnie z wymogiem:
$ #!/bin/bash
Echo Hello
1> i 2 Echo World
Krok 3: Sprawdź, czy plik Bash działa
Teraz sprawdź, czy plik bash działa poprawnie, czy też zapisany w nim kod jest poprawny, uruchamiając następujące polecenie w terminalu:
$ ./Linux.cii
Wynik dany wynika prawidłowy wynik, który dowodzi, że kod działa poprawnie.
Uruchom kolejne polecenie wspomniane poniżej, aby sprawdzić kod roboczy:
$ ./Linux.sh>/dev/null
Teraz uruchom następujące polecenie, aby sprawdzić działanie kodu:
$ ./Linux.sh 2>/dev/null
Dostaliśmy oczekiwaną wydajność; Oznacza to, że kod jest prawidłowy.
Krok 4: Przekieruj STDDERR do polecenia TEE
> (…) (Zastąpienie procesu) ustanawia FIFO i udostępnia je TEE do słuchania. Następnie zatrudnia> (przekierowanie pliku), aby wysłać stdout polecenia do FIFO, który monitoruje Twoja pierwsza koszulka.
Następujące polecenie przekierowuje STDDERR do koszulki. Przekierowuje wyjście do „/tmp/log”:
$ ./Linux.sh 2 >> (tee /tmp /log)
Teraz wyjdź plik, w którym przekierowaliśmy wyjście.
$ cat /tmp /log
Domyślnie TEE drukuje na stdout. Wydrukuj to do Stderr.
$ (./Linux.sh 2 >> (tee/tmp/log> i 2))>/dev/null
Wniosek
Polecenie TEE odczytuje dane z pliku/plików wejściowych i zapisuje odebrane wyjście do wielu plików. Przekierowanie błędów do STDERR można wykonać za pomocą polecenia TEE. Istnieje wiele sposobów przekierowania wyjścia. Ale w tym artykule opisaliśmy procedurę, za pomocą przykładu, aby przekierować STDDERR do koszulki za pomocą pliku bash i wyświetliliśmy wyjście na Ubuntu (system operacyjny Linux). Ten artykuł będzie pomocny w przekierowaniu STDERR za pomocą polecenia TEE.