BASH programiranje

Kako preusmeriti stderr na stdout v Bashu

Kako preusmeriti stderr na stdout v Bashu
Ukazi v Linuxu od uporabnika vzamejo nekaj vnosa, ki je lahko datoteka ali kateri koli atribut, in po izvedbi dajo nekaj izhodnih podatkov, imenovanih standardni izhod. Standardni izhod je lahko izhod za uspeh ali izpis napake; oboje bo prikazano na zaslonu terminala. Toda v nekaterih primerih želite shraniti standardne izhode v datoteko za preskušanje ali odpravljanje napak kode. V Linuxu je te izhode mogoče preusmeriti v datoteko, postopek zajemanja pa se imenuje preusmeritev.

Vsak postopek v Linuxu ustvari tri podatkovne tokove, “stdin”, “stdout” in “stderr”:

Vsak podatkovni tok ima številčni ID:

Številski ID Ime
0 stdin
1 stdout
2 stderr

Pojasnimo preusmeritev nekoliko podrobneje:

Kako preusmeriti standardni izhod in standardno napako v Bashu:

Za preusmeritev standardnega izhoda ukaza bomo uporabili "1" z operaterjem preusmeritve, ki je večji od znaka ">":

$ ls 1> stdout.txt

Zgornji ukaz bo ustvaril datoteko in postavil standardni izhod ukaza "ls" v "stdout".txt ”.

Če želite prebrati "stdout.txt ”, uporabite:

$ mačka stdout.txt

Standardno napako lahko preusmerimo tudi v datoteko z ukazom:

$ cat myfile.txt 2> stderr.txt

Če si želite ogledati “stderr.txt ”, uporabite:

$ mačka stderr.txt

Prepričajte se, da je uporaba "2" večja od znaka ">". Ker ni »myfile.txt "v imeniku, bo ukaz" mačka "dal napako, ki bo dodana v" stderr.txt ”.

Te standardne izhode lahko preusmerite tudi z enim ukazom, uporabite:

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

Izhod ukaza “ls” bo zapisan v “stdout.txt", Ampak"stderr.txt”Bo ostal prazen, ker ne bi prišlo do napake.

Zdaj pa naredimo za “stderr.txt ":

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

Uporabite spodnji ukaz za branje »stderr.txt."

$ mačka stderr.txt

In seveda, “stdout.txt «bo prazen.

Zaključek:

Ukaz Linux ob izvedbi daje standardni izhod, ki bi lahko bil rezultat uspeha ali izpis napake. Na splošno teh izhodov ni mogoče preusmeriti z uporabo operaterjev preusmeritve; uporabiti moramo določene številčne ID-je z znakom “>”. V tem priročniku smo se naučili, kako s temi številskimi tipkami preusmeriti standardni izhod v datoteko s primeri.

Brezplačni in odprtokodni igralni mehanizmi za razvoj iger Linux
Ta članek bo zajemal seznam brezplačnih in odprtokodnih igralnih mehanizmov, ki jih je mogoče uporabiti za razvoj 2D in 3D iger v Linuxu. Obstaja veli...
Vadnica Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider je dvanajsti dodatek k seriji Tomb Raider - franšiza akcijsko-pustolovskih iger, ki jo je ustvaril Eidos Montreal. Kritiki i...
Kako povečati FPS v Linuxu?
FPS pomeni Število sličic na sekundo. Naloga FPS je merjenje hitrosti sličic pri predvajanju video posnetkov ali igranih predstavah. Z enostavnimi bes...