BASH-programmering

Hur man omdirigerar stderr till stdout i Bash

Hur man omdirigerar stderr till stdout i Bash
Kommandon i Linux tar lite input från användaren, vilket kan vara en fil eller något attribut, och vid körning ger de en del output som kallas standardoutput. Standardutmatningen kan vara en framgång eller en felutgång; båda kommer att visas på din terminalskärm. Men i vissa fall vill du lagra standardutgångar till en fil för testning eller felsökning av koden. I Linux kan dessa utdata omdirigeras till en fil och processen för att fånga den kallas omdirigering.

Varje process i Linux producerar tre dataströmmar, "stdin", "stdout" och "stderr":

Varje dataström har ett numeriskt id:

Numeriskt ID namn
0 stdin
1 stdout
2 stderr

Låt oss förklara omdirigering lite mer med detaljer:

Så här omdirigerar du standardutdata och standardfel i Bash:

För att omdirigera standardutgången för kommandot använder vi “1” med en omdirigeringsoperator som är större än tecknet “>”:

$ ls 1> stdout.Text

Ovanstående kommando skapar en fil och placerar standardutmatningen för kommandot “ls” i “stdout.txt ”-fil.

Att läsa “stdout.txt ”-fil, använd:

$ cat stdout.Text

Vi kan också omdirigera standardfel till en fil genom att använda kommandot:

$ cat myfile.txt 2> stderr.Text

För att se “stderr.txt ”-fil, använd:

$ katt stderr.Text

Se till att användningen "2" är större än tecknet ">". Eftersom det inte finns någon ”minfil.txt ”-fil i katalogen kommer kommandot“ cat ”att ge ett fel som läggs till i“ stderr.txt ”-fil.

Dessa standardutgångar kan också omdirigeras med ett enda kommando, använd:

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

Utgången från kommandot "ls" kommer att skrivas i "stdout.Text”-Filen, men“stderr.Text”Förblir tom eftersom det inte skulle finnas något fel.

Låt oss nu göra för “stderr.Text":

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

Använd kommandot nedan för att läsa “stderr.Text.”

$ katt stderr.Text

Och naturligtvis, "stdout.txt ”kommer att vara tomt.

Slutsats:

Linux-kommando vid körning ger standardutdata som kan vara en framgång eller en felutgång. I allmänhet kan dessa utgångar inte omdirigeras med omdirigeringsoperatorer. vi måste använda specifika numeriska id: n med ">" -tecknet. I den här guiden lärde vi oss hur man använder dessa siffertangenter för att omdirigera standardutdata till en fil med exempel.

Strid om Wesnoth 1.13.6 Utveckling släppt
Strid om Wesnoth 1.13.6 släpptes förra månaden, är den sjätte utvecklingsversionen i 1.13.x-serien och den levererar ett antal förbättringar, framför ...
Så här installerar du League Of Legends på Ubuntu 14.04
Om du gillar League of Legends är det här en möjlighet för dig att testa League of Legends. Observera att LOL stöds på PlayOnLinux om du är en Linux-a...
Installera det senaste OpenRA-strategispelet på Ubuntu Linux
OpenRA är en Libre / Free Real Time Strategy-spelmotor som återskapar de tidiga Westwood-spelen som det klassiska Command & Conquer: Red Alert. Distri...