Hvordan bruke Stdin, Stderr og Stdout -bekker i bash

Hvordan bruke Stdin, Stderr og Stdout -bekker i bash

Tre strømmer åpnes når Linux -operativsystemet starter. Dette er stdin, stdout og stderr. Den fulle formen for stdin er standardinngang som brukes til å ta en inngang fra brukeren. Den fulle formen for stdout er standardutgangen som brukes til å lagre output fra kommandoen til stdout -strømmen. Den fulle formen for stderr er standardfeilen som brukes til å lagre feilmeldingen som genereres fra enhver kommando i datastrømmen. Bruken av disse strømningene vises i denne opplæringen. De tilsvarende numeriske identifikatorverdiene til stdin, stdout og stderr er 0, 1 og 2.

Omdirigeringsoperatører av stdin, stdout og stderr

    • “<” or “0<” is used for the stdin stream.
    • “>” Eller “1>” brukes til stdout -strømmen.
    • “2” brukes til stderr -strømmen.

Bruk av stdin, stdout og stderr

Bruken av stdin, stdout og stderr vises i denne delen av opplæringen ved hjelp av flere eksempler.

Eksempel 1: Bruk av stdin

Metoden for å ta innholdet i en fil og skrive den ut i terminalen vises i dette eksemplet.

Kjør følgende “Cat” -kommando for å opprette en tekstfil som heter Testdata.txt med noe innhold:

$ katt> testdata.tekst


Kjør følgende “Cat” -kommando for å legge noe innhold i testdataene.txt -fil:

$ katt >> testdata.tekst


Kjør følgende “Cat” -kommando for å ta innspill fra testdata.TXT -fil og skriv den ut i terminalen:

$ katt < testdata.txt


Produksjon:

Følgende utgang vises etter å ha utført de tidligere kommandoene etter å ha lagt til strengen, “Linuxhint.com ”, og“ scripting språk ”inn i testdata.txt -fil:


Eksempel 2: Bruk av stdout

Metoden for å lage en fil ved hjelp av Pipe (|) og omdirigeringsoperatøren vises i dette eksemplet.

Kjør følgende kommando for å skrive en strengdata i tekstfilen som heter TestData2.txt ved rør. Utgangen fra “Echo” -kommandoen sendes til inngangen til “Cat” -kommandoen ved hjelp av Pipe (|) -operatøren:

$ ekko "Lær bash -programmering" | Cat> TestData2.tekst


Kjør følgende “Cat” -kommando for å sjekke innholdet i testdata2.txt -fil:

$ katt testdata2.tekst


Produksjon:

Følgende utgang vises etter å ha utført de tidligere kommandoene. I følge utgangen er utgangen fra “Echo” -kommandoen skrevet til testdata2.txt -fil:


Kjør følgende kommando for å skrive utdataene fra “LS -L” -kommandoen til en tekstfil som heter liste.txt ved hjelp av omdirigeringsoperatøren ('>'):

$ ls -l> liste.tekst


Kjør følgende “Cat” -kommando for å sjekke innholdet på listen.txt -fil:

$ katteliste.tekst


Produksjon:

Følgende utgang vises etter å ha utført de tidligere kommandoene. I henhold til utdataene skrives utgangen fra “LS -L” -kommandoen inn i listen.txt -fil:


Eksempel 3: Bruk av stdin og stdout

Metoden for å bruke både stdin og stdout for å ta en innspill fra en fil og skrive den til en fil vises i dette eksemplet.

Kjør følgende “Cat” -kommando for å ta innholdet i testdata.txt -fil og skriv den inn i testfilen.txt -fil og terminalen:

$ katt < testdata.txt > Testfile.tekst


Kjør følgende “Cat” -kommando for å skrive ut innholdet i testdata.txt -fil:

$ katt testdata.tekst


Kjør følgende “Cat” -kommando for å skrive ut innholdet i testfilen.txt -fil:

$ katt testfile.tekst


Produksjon:

Følgende utgang vises etter å ha utført de tidligere kommandoene. I følge utgangen, innholdet i testdata.TXT -filen skrives inn i testfilen.txt -fil og trykt i terminalen:


Eksempel 4: Bruk av stderr

Innholdet i standardfeilen kan skrives ut i terminalen eller omdirigert til en fil eller sendes til /dev /null som fungerer som papirkurven. De forskjellige måtene å passere standardfeilen vises i dette eksemplet.

Følgende kommando er gyldig, og den skriver ut "hei" -strengen med Newline. Så ingen standardfeil genereres for følgende kommando:

$ printf "%s \ n" "hei"


Følgende kommando er ugyldig fordi det ikke er noen kommando som heter "Pirntf". Så en standardfeil genereres og feilen skrives ut i terminalen:

$ pirntf "%s \ n" "hei"


Produksjon:

Følgende utgang vises etter å ha utført den forrige kommandoen. I henhold til utdataene skrives standardfeilen i terminalen:


Noen ganger krever det å skrive ut den tilpassede feilen ved å skjule standardfeilen for å gjøre feilen mer forståelig for brukerne. Denne oppgaven kan gjøres ved å omdirigere feilen i /dev /null. “2>” brukes her for å omdirigere feilen i /dev /null.

Kjør følgende kommando for å omdirigere feilen i /dev /null som ikke vil vise noen feil hvis det eksisterer noen feil:

$ pirntf "%s \ n" "hallo" 2> /dev /null


Produksjon:

Følgende utgang vises etter å ha utført den forrige kommandoen. I henhold til utdataene skrives ikke standardfeilen i terminalen for å omdirigere til /dev /null:


Noen ganger krever standardfeilen lagring i en fil for fremtidig bruk. Denne oppgaven kan gjøres ved å omdirigere feilen til en fil ved hjelp av “2>” -operatøren.

Kjør følgende kommando for å omdirigere standardfeilen til en fil som heter feilfil.tekst:

$ pirntf "%s \ n" "hallo" 2> errorfile.tekst


Kjør følgende kommando for å sjekke innholdet i feilfilen.txt -fil:

$ katt errorfile.tekst


Produksjon:

Følgende utgang vises etter å ha utført de tidligere kommandoene. I følge utdataene skrives standardfeilen riktig inn i feilfilen.txt -fil:


Standardfeilen kan omdirigeres til både /dev /null og feilfilen.txt -fil ved hjelp av følgende kommando:

$ pirntf "%s \ n" "hallo" 2> /dev /null> errorfile.tekst

Konklusjon

Bruken av stdin, stdout og stderr forklares i denne opplæringen ved å bruke flere eksempler som vil hjelpe Linux -brukerne til å forstå konseptet med disse strømningene og bruke dem riktig når det er nødvendig.