Bash Pagina 36

De la Wiki Linux Advanced
Sari la navigare Sari la căutare

Redirecționare (2)

Redirecționarea fluxurilor în shell scripting permite controlul detaliat asupra modului în care sunt gestionate intrările, ieșirile și erorile. Aceasta este esențială pentru a îmbunătăți gestionarea erorilor și pentru a organiza rezultatele.

Tipuri de Redirecționare a Fluxurilor

1. Redirecționare a Fluxului Specific

Puteți redirecționa un anumit flux utilizând sintaxa N>. Exemplu:

cmd 2>/dev/null

Aceasta va elimina toate erorile generate de comanda cmd.

Redirecționare către un Flux Specific

Pentru a redirecționa ieșirea unei comenzi către un flux specific, utilizați >&N.
Exemple:

1>&2: trimite ieșirea standard (stdout) către fluxul de eroare standard (stderr).
2>&1: redirecționează fluxul de eroare standard (stderr) către ieșirea standard (stdout).

Trimiterea Ieșirii și a Erorilor într-un Singur Fișier

Pentru a trimite atât ieșirea standard, cât și erorile într-un singur fișier de jurnal, utilizați:

cmd > fișierul_jurnal 2>&1

Important: Nu faceți acest lucru:

cmd > jurnal 2> jurnal
Aceasta va crea un fișier de jurnal care poate fi incomplet sau care nu va conține toate informațiile dorite.

Reguli și Conținut

Evitați să folosiți &> sau >&.

Ordinea redirecționărilor contează.

Exemple corecte:

cmd < fișier_de_intrare > fișier_de_ieșire

și

> fișier_de_ieșire cmd < fișier_de_intrare
Un exemplu de redirecționare a erorilor către fișierul de jurnal:
cmd > fișierul_de_jurnal 2>&1

În mod similar, pentru a trimite erorile la ieșirea standard, utilizați:

2>&1 > logfile cmd

Acest lucru va redirecționa erorile către stdout.

Concluzie

Redirecționarea fluxurilor este un instrument vital în scripting-ul shell, permițând utilizatorilor să gestioneze eficient ieșirile și erorile. Prin utilizarea corectă a redirecționărilor, se pot crea scripturi mai clare și mai ușor de diagnosticat.

Pagina anterioară | Următoarea pagină