Redirecționare
Această intrare sau secțiune despre sistemul de operare subiect nu menționează sursele necesare sau cei prezenți sunt insuficienți . |
Redirecționarea , în informatică , este abaterea canalelor standard ( intrare standard , ieșire standard și eroare standard ) a unei comenzi date către destinații (sau din surse, în cazul intrării standard ) care sunt diferite de cele predefinite.
Exemple
Redirecționarea este tipică pentru multe shell-uri de text și se poate face în acestea prin inserarea caracterelor de redirecționare adecvate între comenzi. Sintaxa tipică este următoarea:
comanda > numele fișierului
În exemplul anterior, comanda este executată și ieșirea sa standard este scrisă în numele fișierului . În mod similar puteți furniza o comandă cu date despre intrarea standard :
comanda < nume fișier
În acest caz, comanda este executată prin procesarea datelor prezente în numele fișierului fișierului .
Rețineți că ieșirea standard a unei comenzi poate fi furnizată direct ca intrare standard a unei comenzi ulterioare prin interpunerea unei bare verticale („ |
”) între ele, de exemplu:
comanda1 | comanda2
Aici comanda1 este executată și ieșirea sa devine intrarea pentru comanda2 (a cărei ieșire poate fi de asemenea redirecționată). În acest caz, vorbim despre conducta software .
Funcția „Hang”
În bash , ca și în alte shell-uri de text , este posibil să folosiți caractere de redirecționare care adaugă ieșirea standard a comenzii la sfârșitul unui fișier în loc să suprascrieți conținutul acestuia. De exemplu:
comanda >> numele fișierului
adaugă ( adaugă în engleză ) comanda de ieșire la conținutul numelui fișierului fișierului . Dacă nu există, va fi creat.
Această funcție este de obicei utilizată în scripturile shell pentru a crea fișiere jurnal care țin evidența activităților efectuate.
Funcția „ Aici documentați ”
În shell-urile de text ale sistemelor Unix și Unix-like, este de obicei disponibil și un tip de redirecționare care vă permite să specificați direct textul pe mai multe linii ca intrare standard la o comandă. De exemplu:
comanda << marker linia 1 randul 2 .. marcator
marker este un singur cuvânt arbitrar (de obicei EOF
, de la „ sfârșitul fișierului ”). Toate liniile de text dintre cele două apariții ale markerului (ultima apariție trebuie să apară singură pe o linie) vor fi furnizate la intrarea standard la comandă .
Textul este în mod normal supus înlocuirii variabilelor și comenzilor tipice shell-urilor textuale, cu excepția cazului în care markerul este specificat între ghilimele duble sau simple. De exemplu:
număr = 42 pisica << EOF Numărul este numărul $ Data de astăzi este „dată” EOF
dă cat textul dintre cele două apariții ale EOF
, înlocuind variabila $numero
cu valoarea sa și înlocuind expresia `date`
cu ieșirea comenzii date .