Hvordan du kan omdirigere stderr til stdout i bash

Hvordan du kan omdirigere stderr til stdout i bash
Kommandoer i Linux tar noen innspill fra brukeren, som kan være en fil eller et hvilket. Standardutgangen kan være en suksessutgang eller en feilutgang; Begge vises på terminalskjermen. Men i noen tilfeller vil du lagre standardutganger til en fil for testing eller feilsøking av koden. I Linux kan disse utgangene omdirigeres til en fil, og prosessen med å fange den kalt omdirigering.

Hver prosess i Linux produserer tre datastrømmer, "stdin", "stdout" og "stderr":

  • stdin: Tar innspill fra brukeren via tastatur
  • stdout: Viser utgangen på skjermen
  • Stderr: Viser feilinformasjon på skjermen

Hver datastrøm har en numerisk ID:

Numerisk ID Navn
0 stdin
1 stdout
2 Stderr

La oss forklare omdirigering litt mer med detaljer:

Hvordan omdirigere standardutgang og standardfeil i bash:

For å omdirigere standardutgangen til kommandoen, vil vi bruke “1” med en viderekoblingsoperatør som er større enn “>” -tegnet:

$ ls 1> stdout.tekst

Kommandoen ovenfor vil opprette en fil og plassere standardutgangen til “LS” -kommandoen i “stdout.txt ”-fil.

Å lese “stdout.txt ”-fil, bruk:

$ katt stdout.tekst

Vi kan omdirigere standardfeil til en fil også ved å bruke kommandoen:

$ katt myfile.txt 2> stderr.tekst

Å se “stderr.txt ”-fil, bruk:

$ katt stderr.tekst

Forsikre deg om at bruk "2" vil være større enn ">" -tegnet. Siden det ikke er "myfil.txt ”-filen i katalogen,“ Cat ”-kommandoen vil gi en feil som vil bli lagt til i“ Stderr.txt ”-fil.

Disse standardutgangene kan også omdirigeres med en enkelt kommando, bruk:

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

Utgangen fra “LS” -kommandoen vil bli skrevet i “stdout.tekst”-Filen, men“Stderr.tekst”Vil forbli tom fordi det ikke ville være noen feil.

La oss nå gjøre for “Stderr.tekst":

$ katt myfile.txt 1> stdout.txt 2> stderr.tekst

Bruk den nedenfor-nevnte kommandoen for å lese “Stderr.tekst.”

$ katt stderr.tekst

Og selvfølgelig, “Stdout.txt ”vil være tom.

Konklusjon:

Linux -kommandoen ved utførelse gir standardutgang som kan være en suksessutgang eller en feilutgang. Generelt kan ikke disse utgangene omdirigert ved hjelp av omdirigeringsoperatører; Vi må bruke spesifikke numeriske ID -er med “>” -tegnet. I denne guiden lærte vi hvordan du bruker disse numeriske tastene for å omdirigere standardutgang til en fil med eksempler.