Bash Pagina 36: Diferență între versiuni

De la Wiki Linux Advanced
Sari la navigare Sari la căutare
Linia 28: Linia 28:
  cmd > jurnal 2> jurnal
  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.
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'''
'''Reguli și Conținut'''
Linia 38: Linia 38:
'''Exemple corecte:'''
'''Exemple corecte:'''
  cmd < fișier_de_intrare > fișier_de_ieșire
  cmd < fișier_de_intrare > fișier_de_ieșire
și
și
  > fișier_de_ieșire cmd < fișier_de_intrare
  > fișier_de_ieșire cmd < fișier_de_intrare


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

Versiunea de la data 27 octombrie 2024 10:09

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ă