BASH programozás

Hogyan irányítsuk át a stderr-t a stdout-ra a Bash-ban

Hogyan irányítsuk át a stderr-t a stdout-ra a Bash-ban
A Linux parancsai valamilyen bemenetet vesznek fel a felhasználótól, amely lehet egy fájl vagy bármilyen attribútum, és végrehajtáskor adnak valamilyen kimenetet, amit normál kimenetnek hívnak. A standard kimenet lehet sikeres kimenet vagy hibakimenet; mindkettő megjelenik a terminál képernyőjén. Bizonyos esetekben azonban a kimeneteket egy fájlba szeretné tárolni a kód teszteléséhez vagy hibakereséséhez. Linux alatt ezeket a kimeneteket át lehet irányítani egy fájlba, és a rögzítés folyamatát átirányításnak nevezik.

Minden folyamat a Linuxban három adatfolyamot állít elő: „stdin”, „stdout” és „stderr”:

Minden adatfolyam numerikus azonosítóval rendelkezik:

Numerikus azonosító Név
0 stdin
1 stdout
2 stderr

Magyarázzuk meg még részletesebben az átirányítást:

A Standard kimenet és a Standard hiba átirányítása a Bash-ban:

A parancs szabványos kimenetének átirányításához az „1” -t használjuk egy átirányítási operátorral, amely nagyobb, mint a „>” jel:

$ ls 1> stdout.txt

A fenti parancs létrehoz egy fájlt, és az „ls” parancs normál kimenetét az „stdout.txt ”fájl.

Az „stdout.txt ”fájl, használja:

$ cat stdout.txt

A szabványos hibákat egy fájlba is átirányíthatjuk a következő paranccsal:

$ cat myfile.txt 2> stderr.txt

A „stderr.txt ”fájl, használja:

$ macska stderr.txt

Ügyeljen arra, hogy a „2” használata nagyobb legyen, mint a „>” jel. Mivel nincs „myfile.txt ”fájlt a könyvtárban, a„ cat ”parancs hibát ad, amelyet a„ stderr.txt ”fájl.

Ezek a szabványos kimenetek egyetlen paranccsal is átirányíthatók, használja a következőket:

$ ls 1> stdout.txt 2> stderr.txt

Az „ls” parancs kimenete az „stdout.txt”Fájlt, de astderr.txt”Üres marad, mert nem lenne hiba.

Most tegyük a “stderr.txt ”:

$ cat myfile.txt 1> stdout.txt 2> stderr.txt

Az alább említett paranccsal olvassa el a „stderr.txt.”

$ macska stderr.txt

És természetesen: „stdout.txt ”üres lesz.

Következtetés:

A Linux parancs a végrehajtáskor normál kimenetet ad, amely lehet sikeres kimenet vagy hibakimenet. Ezeket a kimeneteket általában nem lehet átirányítani átirányítási operátorokkal; specifikus numerikus azonosítókat kell használnunk a „>” jellel. Ebben az útmutatóban megtanultuk, hogyan használhatjuk ezeket a numerikus gombokat a szabványos kimenet fájlokba történő irányításához példákkal.

A legjobb Gamepad Mapping alkalmazások Linuxhoz
Ha egy tipikus billentyűzet és egér beviteli rendszer helyett szeretnél játékokat játszani Linuxon egy játékvezérlővel, van néhány hasznos alkalmazás ...
Hasznos eszközök Linux játékosok számára
Ha szeretsz Linuxon játszani, akkor valószínű, hogy olyan alkalmazásokat és segédprogramokat használtál, mint a Wine, a Lutris és az OBS Studio a játé...
HD Remastered Games for Linux, amelyeknek soha nem volt korábban Linux kiadásuk
Számos játékfejlesztő és kiadó a régi játékok HD remasterjével áll elő a franchise élettartamának meghosszabbítása érdekében. Kérjük, hogy a rajongók ...