Kuidas suunata stderr Bashis stdouti

How Redirect Stderr Stdout Bash



Linuxi käsud võtavad kasutajalt teatud sisendi, mis võib olla fail või mõni atribuut, ning käivitamisel annavad nad väljundi, mida nimetatakse standardväljundiks. Standardväljundiks võib olla edukas väljund või veaväljund; mõlemad kuvatakse teie terminaliekraanil. Kuid mõnel juhul soovite standardväljundid faili testimiseks või silumiseks salvestada. Linuxis saab neid väljundeid faili suunata ja selle hõivamise protsessi nimetatakse ümbersuunamiseks.







Iga Linuxi protsess toodab kolme andmevoogu, stdin, stdout ja stderr:



  • stdin : Võtab kasutajalt klaviatuuri kaudu sisendi
  • stdout : Kuvab ekraanil väljundi
  • stderr : Kuvab ekraanil veateavet

Igal andmevool on numbriline ID:



Numbriline ID Nimi
0 stdin
1 stdout
2 stderr

Selgitame ümbersuunamist üksikasjalikumalt:





Standardväljundi ja standardvea ümbersuunamine Bashis:

Käsu standardväljundi ümbersuunamiseks kasutame 1 koos ümbersuunamisoperaatoriga, mis on suurem kui> märk:

$ls 1>stdout.txt

Ülaltoodud käsk loob faili ja paigutab käsu ls standardväljundi faili stdout.txt.



Faili stdout.txt lugemiseks kasutage:

$kassstdout.txt

Samuti saame standardvea faili suunata, kasutades käsku:

$kassmyfile.txt2>stderr.txt

Faili stderr.txt vaatamiseks kasutage järgmist:

$kassstderr.txt

Veenduge, et kasutamine 2 oleks suurem kui> märk. Kuna kataloogis pole faili myfile.txt, annab käsk cat vea, mis lisatakse failile stderr.txt.

Neid standardväljundeid saab ka ühe käsuga ümber suunata, kasutage järgmist:

$ls 1>stdout.txt2>stderr.txt

Käsu ls väljund kirjutatakse kausta stdout.txt fail, kuid stderr.txt jääb tühjaks, sest viga ei oleks.

Teeme nüüd faili stderr.txt:

$kassmyfile.txt1>stdout.txt2>stderr.txt

Kasutage allolevat käsku stderr.txt lugemiseks.

$kassstderr.txt

Ja stdout.txt on muidugi tühi.

Järeldus :

Linuxi käsk käivitamisel annab standardväljundi, mis võib olla edukas või veaväljund. Üldiselt ei saa neid väljundeid ümbersuunamisoperaatorite abil ümber suunata; peame kasutama märgiga> konkreetseid numbrilisi ID -sid. Selles juhendis õppisime, kuidas kasutada neid numbriklahve standardväljundi suunamiseks näidetega faili.