O'Reilly logo

Bash. Receptury by Cameron Newham, JP Vossen, Carl Albing

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

15.12. Przekierowanie wyjścia na czas działania skryptu

Problem

Chcemy przekierować strumień danych wyjściowych dla całego skryptu bez konieczności modyfikowania każdej instrukcji echo lub printf.

Rozwiązanie

Aby przekierować dane strumienia STDOUT i STDERR, można wykorzystać mało znaną instrukcję exec.

# Zachowanie "starego" deskryptora STDERR – opcjonalne
exec 3>&2

# Skierowanie wyszystkich danych STDERR do pliku dziennika
exec 2> /ścieżka/do/pliku.log

# Poniżej można umieścić treść skryptu, którego strumień STDERR został globalnie
# przekierowany do pliku

# Wyłączenie przekierowania – przywrócenie standardowego strumienia STDERR i zamknięcie
# deskryptora pliku 3
exec 2>&3-

Analiza

Polecenie exec zazwyczaj zastępuje działającą powłokę poleceniem ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required