BASH programiranje

Kako preusmjeriti stderr na stdout u Bashu

Kako preusmjeriti stderr na stdout u Bashu
Naredbe u Linuxu uzimaju neke podatke od korisnika, što može biti datoteka ili bilo koji atribut, a nakon izvršavanja daju neki izlaz koji se naziva standardni izlaz. Standardni izlaz može biti izlaz uspjeha ili izlaz pogreške; oba će biti prikazana na zaslonu vašeg terminala. Ali u nekim slučajevima želite pohraniti standardne izlaze u datoteku za testiranje ili ispravljanje pogrešaka koda. U Linuxu se ti izlazi mogu preusmjeriti u datoteku, a postupak hvatanja naziva se preusmjeravanjem.

Svaki proces u Linuxu proizvodi tri toka podataka, "stdin", "stdout" i "stderr":

Svaki tok podataka ima numerički id:

Numerički Id Ime
0 stdin
1 stdout
2 stderr

Objasnimo preusmjeravanje malo detaljnije:

Kako preusmjeriti standardni izlaz i standardnu ​​pogrešku u Bashu:

Za preusmjeravanje standardnog izlaza naredbe upotrijebit ćemo "1" s operatorom preusmjeravanja koji je veći od znaka ">":

$ ls 1> stdout.txt

Gornja naredba će stvoriti datoteku i postaviti standardni izlaz naredbe "ls" u "stdout.txt ”datoteku.

Da biste pročitali „stdout.txt ”, koristite:

$ mačka stdout.txt

Standardnu ​​pogrešku možemo preusmjeriti i na datoteku pomoću naredbe:

$ mačka moja datoteka.txt 2> stderr.txt

Za prikaz "stderr.txt ”, koristite:

$ mačka stderr.txt

Obavezno koristite "2" više od znaka ">". Budući da ne postoji „myfile.txt ”u direktoriju, naredba“ mačka ”dat će pogrešku koja će biti dodana u“ stderr.txt ”datoteku.

Ovi standardni izlazi se mogu preusmjeriti jednom naredbom, također koristite:

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

Izlaz naredbe "ls" bit će zapisan u "stdout.txt", Ali"stderr.txt”Ostat će prazan jer ne bi bilo pogreške.

Sada napravimo za “stderr.txt ":

$ mačka moja datoteka.txt 1> stdout.txt 2> stderr.txt

Upotrijebite dolje spomenutu naredbu za čitanje “stderr.txt."

$ mačka stderr.txt

I naravno, „stdout.txt ”bit će prazno.

Zaključak:

Linux naredba nakon izvršavanja daje standardni izlaz koji može biti izlaz za uspjeh ili izlaz za pogrešku. Općenito se ti izlazi ne mogu preusmjeriti pomoću operatora preusmjeravanja; trebamo koristiti određene numeričke ID-ove sa znakom ">". U ovom smo vodiču naučili kako koristiti ove numeričke tipke za preusmjeravanje standardnih rezultata u datoteku s primjerima.

Top 5 ergonomskih proizvoda za računalni miš za Linux
Uzrokuje li dugotrajno korištenje računala bolove u zapešću ili prstima? Patite li od ukočenih zglobova i stalno se morate rukovati? Osjećate li goruć...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
Zamijenite svoje tipke miša različito za različiti softver pomoću X-Mouse Button Control
Možda vam treba alat koji bi mogao promijeniti kontrolu miša sa svakom aplikacijom koju koristite. Ako je to slučaj, možete isprobati aplikaciju pod n...