Programovanie v jazyku BASH

Ako presmerovať stderr na štandardný výstup v Bashi

Ako presmerovať stderr na štandardný výstup v Bashi
Príkazy v systéme Linux preberajú od používateľa vstup, ktorým môže byť súbor alebo akýkoľvek atribút, a po vykonaní dávajú výstup nazývaný štandardný výstup. Štandardným výstupom môže byť úspešný výstup alebo chybový výstup; obe sa zobrazia na obrazovke terminálu. Ale v niektorých prípadoch chcete uložiť štandardné výstupy do súboru na testovanie alebo ladenie kódu. V systéme Linux môžu byť tieto výstupy presmerované do súboru a proces jeho zachytenia sa nazýva presmerovanie.

Každý proces v systéme Linux produkuje tri dátové toky „stdin“, „stdout“ a „stderr“:

Každý dátový tok má numerické ID:

Numeric Id názov
0 stdin
1 stdout
2 stderr

Poďme si presmerovanie trochu podrobnejšie vysvetliť:

Ako presmerovať štandardný výstup a štandardnú chybu v Bashi:

Na presmerovanie štandardného výstupu príkazu použijeme „1“ s operátorom presmerovania, ktorý je väčší ako znamienko „>“:

$ ls 1> štandardný výstup.TXT

Vyššie uvedený príkaz vytvorí súbor a umiestni štandardný výstup príkazu „ls“ do „štandardného výstupu.súbor txt “.

Čítať „štandardný výstup.súbor txt ”, použite:

$ mačací výstup.TXT

Štandardnú chybu môžeme presmerovať aj do súboru pomocou príkazu:

$ macísúbor.txt 2> stderr.TXT

Ak chcete zobraziť „stderr.súbor txt ”, použite:

$ mačka stderr.TXT

Uistite sa, že použitie „2“ bude väčšie ako znamienka „>“. Pretože neexistuje žiadny „môj súbor“.txt ”v adresári, príkaz„ cat ”spôsobí chybu, ktorá bude pridaná do„ stderr.súbor txt “.

Tieto štandardné výstupy je možné presmerovať jediným príkazom, tiež:

$ ls 1> štandardný výstup.txt 2> stderr.TXT

Výstup príkazu „ls“ sa zapíše do poľa „stdout.TXT“, Ale„stderr.TXT”Zostane prázdny, pretože by nedošlo k chybe.

Teraz urobme pre „stderr.TXT":

$ macísúbor.txt 1> štandardný výstup.txt 2> stderr.TXT

Pomocou nižšie uvedeného príkazu prečítajte „stderr.TXT.“

$ mačka stderr.TXT

A samozrejme: „stdout.txt ”bude prázdny.

Záver:

Príkaz Linuxu po vykonaní poskytne štandardný výstup, ktorý môže byť výstupom úspechu alebo chyby. Spravidla nie je možné tieto výstupy presmerovať pomocou operátorov presmerovania; musíme použiť konkrétne číselné ID so znamienkom „>“. V tejto príručke sme sa naučili, ako používať tieto číselné klávesy na presmerovanie štandardného výstupu do súboru s príkladmi.

Hry Nainštalujte si najnovší Dolphin Emulator pre Gamecube a Wii na Linuxe
Nainštalujte si najnovší Dolphin Emulator pre Gamecube a Wii na Linuxe
Emulátor Dolphin vám umožní hrať vybrané hry Gamecube a Wii na osobných počítačoch Linux (PC). Emulátor Dolphin, ktorý je voľne dostupným emulátorom ...
Hry Ako používať GameConqueror Cheat Engine v Linuxe
Ako používať GameConqueror Cheat Engine v Linuxe
Tento článok obsahuje sprievodcu používaním cheatovacieho modulu GameConqueror v systéme Linux. Mnoho používateľov, ktorí hrajú hry v systéme Windows,...
Hry Najlepšie emulátory herných konzol pre systém Linux
Najlepšie emulátory herných konzol pre systém Linux
V tomto článku je uvedený zoznam populárneho softvéru na emuláciu herných konzol, ktorý je k dispozícii pre systém Linux. Emulácia je vrstva kompatibi...