2.9. Przekazanie danych wyjściowych i komunikatów o błędach do tego samego pliku

Problem

Wykorzystując mechanizm przekierowania, można przekazać dane wyjściowe i komunikaty o błędach do różnych plików. Ale w jaki sposób można zapisać wynik i komunikaty o błędach w jednym pliku?

Rozwiązanie

Należy użyć odpowiedniej składni instrukcji, która zapewnia przekierowanie strumienia błędów w to samo miejsce, do którego kierowany jest strumień wyjściowy.

Forma zalecana:

$ obydwa >& plik_wynikowy

lub

$ obydwa &> plik_wynikowy

Starszy i nieco mniej przejrzysty sposób zapisu:

$ obydwa > plik_wynikowy 2>&1

W przedstawionych przykładach ciąg obydwa odpowiada potencjalnemu programowi, który wygeneruje dane zarówno dla strumienia STDERR, jak i strumienia STDOUT.

Analiza ...

Get Bash. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.