Programování BASH

Jak přesměrovat stderr na stdout v Bash

Jak přesměrovat stderr na stdout v Bash
Příkazy v Linuxu přebírají nějaký vstup od uživatele, kterým může být soubor nebo jakýkoli atribut, a po provedení dávají nějaký výstup nazývaný standardní výstup. Standardní výstup může být úspěšný výstup nebo chybový výstup; oba se zobrazí na obrazovce terminálu. Ale v některých případech chcete uložit standardní výstupy do souboru pro testování nebo ladění kódu. V Linuxu lze tyto výstupy přesměrovat na soubor a proces jeho zachycení se nazývá přesměrování.

Každý proces v systému Linux produkuje tři datové toky, „stdin“, „stdout“ a „stderr“:

Každý datový proud má numerické ID:

Numeric Id název
0 stdin
1 stdout
2 stderr

Vysvětlíme přesměrování trochu podrobněji:

Jak přesměrovat standardní výstup a standardní chybu v Bash:

K přesměrování standardního výstupu příkazu použijeme „1“ s operátorem přesměrování, který je větší než znak „>“:

$ ls 1> standardní výstup.txt

Výše uvedený příkaz vytvoří soubor a umístí standardní výstup příkazu „ls“ do „stdout.txt ”.

Číst „standardní výstup.Soubor txt ”použijte:

$ kočka stdout.txt

Standardní chybu můžeme přesměrovat také do souboru pomocí příkazu:

$ cat myfile.txt 2> stderr.txt

Chcete-li zobrazit „stderr.Soubor txt ”použijte:

$ kočka stderr.txt

Ujistěte se, že použití „2“ bude větší než znaménko „>“. Protože neexistuje žádný „myfile“.txt ”v adresáři, příkaz„ cat “způsobí chybu, která bude přidána do„ stderr.txt ”.

Tyto standardní výstupy lze přesměrovat také jediným příkazem, použijte:

$ ls 1> standardní výstup.txt 2> stderr.txt

Výstup příkazu „ls“ bude zapsán do „stdout.txt„Soubor, ale„stderr.txt„Zůstane prázdný, protože by nedošlo k žádné chybě.

Nyní pojďme pro „stderr.txt ”:

$ cat myfile.txt 1> standardní výstup.txt 2> stderr.txt

Pomocí níže uvedeného příkazu přečtěte „stderr.txt.“

$ kočka stderr.txt

A samozřejmě: „stdout.txt ”bude prázdný.

Závěr:

Příkaz Linuxu po spuštění poskytuje standardní výstup, který může být úspěšným výstupem nebo chybovým výstupem. Obecně nelze tyto výstupy přesměrovat pomocí operátorů přesměrování; musíme použít konkrétní číselná ID se znaménkem „>“. V této příručce jsme se naučili používat tyto číselné klávesy k přesměrování standardního výstupu do souboru s příklady.

Hry Nainstalujte si nejnovější Dolphin Emulator pro Gamecube a Wii na Linuxu
Nainstalujte si nejnovější Dolphin Emulator pro Gamecube a Wii na Linuxu
Emulátor Dolphin vám umožní hrát vybrané hry Gamecube a Wii na osobních počítačích se systémem Linux (PC). Jako volně dostupný herní emulátor s otevř...
Hry Jak používat GameConqueror Cheat Engine v Linuxu
Jak používat GameConqueror Cheat Engine v Linuxu
Tento článek popisuje průvodce používáním cheatovacího modulu GameConqueror v systému Linux. Mnoho uživatelů, kteří hrají hry v systému Windows, často...
Hry Nejlepší emulátory herních konzolí pro Linux
Nejlepší emulátory herních konzolí pro Linux
Tento článek uvádí seznam populárního softwaru pro emulaci herních konzolí, který je k dispozici pro Linux. Emulace je vrstva softwarové kompatibility...