BASH programavimas

Kaip persiųsti stderr į stdout Bash

Kaip persiųsti stderr į stdout Bash
„Linux“ komandos ima iš vartotojo tam tikrą įvestį, kuri gali būti failas ar koks nors atributas, o vykdydami pateikia tam tikrą išvestį, vadinamą standartine išvestimi. Standartinė išvestis gali būti sėkmės ar klaidos išvestis; abu bus rodomi jūsų terminalo ekrane. Tačiau kai kuriais atvejais norite išsaugoti standartinius išvestis į failą, kad galėtumėte išbandyti ar derinti kodą. „Linux“ sistemoje šias išvestis galima peradresuoti į failą, o jo fiksavimo procesą vadinti peradresavimu.

Kiekvienas „Linux“ procesas sukuria tris duomenų srautus „stdin“, „stdout“ ir „stderr“:

Kiekvienas duomenų srautas turi skaitmeninį ID:

Skaitinis ID vardas
0 stdin
1 stdout
2 stderr

Paaiškinkime šiek tiek išsamiau peradresavimą:

Kaip peradresuoti standartinę išvestį ir standartinę klaidą „Bash“:

Norėdami peradresuoti standartinę komandos išvestį, naudosime „1“ su peradresavimo operatoriumi, kuris yra didesnis nei ženklas „>“:

$ ls 1> stdout.txt

Pirmiau nurodyta komanda sukurs failą ir standartinę komandos „ls“ išvestį įdės į „stdout“.txt “failas.

Norėdami perskaityti „stdout.txt “failą, naudokite:

$ cat stdout.txt

Standartinę klaidą taip pat galime peradresuoti į failą naudodami komandą:

$ cat myfile.txt 2> stderr.txt

Norėdami peržiūrėti „stderr.txt “failą, naudokite:

$ katės stderr.txt

Įsitikinkite, kad naudojimas „2“ bus didesnis nei ženklas „>“. Kadangi nėra „myfile“.txt “kataloge, komanda„ cat “duos klaidą, kuri bus pridėta prie„ stderr.txt “failas.

Šie standartiniai išėjimai gali būti peradresuoti naudojant vieną komandą, taip pat naudokite:

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

Komandos „ls“ išvestis bus parašyta „stdout.txtFailą, bet „stderr.txt“Liks tuščias, nes nebūtų klaidos.

Dabar atlikime „stderr.txt “:

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

Naudokite žemiau nurodytą komandą, kad perskaitytumėte „stderr.txt.“

$ katės stderr.txt

Ir, žinoma, „stdout.txt “bus tuščias.

Išvada:

Vykdant „Linux“ komandą pateikiama standartinė išvestis, kuri gali būti sėkminga arba klaidos išvestis. Paprastai šių rezultatų negalima peradresuoti naudojant peradresavimo operatorius; turime naudoti konkrečius skaitinius ID su ženklu „>“. Šiame vadove sužinojome, kaip naudoti šiuos skaitmeninius klavišus, norint nukreipti standartinę išvestį į failą su pavyzdžiais.

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...
Peržiūrėkite pelės mygtukus skirtingai programinei įrangai naudodami „X-Mouse Button Control“
Galbūt jums reikia įrankio, kuris galėtų pakeisti jūsų pelės valdymą kiekvienoje jūsų naudojamoje programoje. Tokiu atveju galite išbandyti programą, ...
„Microsoft Sculpt Touch“ belaidžio pelės apžvalga
Neseniai skaičiau apie „Microsoft Sculpt Touch“ belaidę pelę ir nusprendė ją nusipirkti. Kurį laiką naudojęs, nusprendžiau pasidalinti savo patirtimi....