Unix tipo operacinėse sistemose, tokiose kaip Linux, MacOS X ir BSD, stderr yra apibrėžtas POSIX standartu. Numatytasis failo deskriptoriaus numeris yra 2 .
Terminalo standartinės klaidos yra vartotojo ekrane.
Stderr Linux komandinėje eilutėje
Bazėje standartinė klaida gali būti nukreipta į komandų eilutę. „ Stderr“ peradresavimas gali būti naudingas, jei reikia užfiksuoti bet kokius klaidos pranešimus į atskirą žurnalo failą arba visiškai paslėpti klaidos pranešimus.
Pavyzdžiui, apsvarstykite šią paieškos komandą:
rasti / -iname „* kažkas *“
/ usr / share / doc / something / usr / share / doc / kažkas / pavyzdžiai / something_random rasti: `/ run / udisks2 ': neleidžiama gauti leidimo:` / run / wpa_supplicant': neleidžiama / usr / share / something / usr / žaidimai / kažkas
Mes gauname klaidų, nes rasti bando ieškoti kelių sistemos katalogų, kurių neturime leidimo skaityti. Linijos, kurios sako „Neleidžiamas leidimas“, yra klaidų pranešimai ir buvo parašytos stderr . Kitos eilutės buvo parašytos stdout (standartinė išvestis). Pagal nutylėjimą jie abu rodomi terminale.
Jei norite paslėpti „ stderr“, mes galime juos nukreipti, nurodydami standartinės klaidos failų deskriptoriaus numerį 2 ir „peradresavimo išvestį“ operatorių, > .
rasti / -iname '* kažką *' 2> / dev / null
/ usr / share / doc / kažkas / usr / share / doc / kažkas / pavyzdžiai / something_random / usr / share / kažkas / usr / žaidimai / kažkas
Klaidos nebėra rodomos, nes visos stderr išvestys buvo nukreiptos į / dev / null, specialų įrenginį, „Linux“, kuris „niekur neveikia“.
Taip pat galėtume nukreipti visas klaidas į failą:
find / -iname '* kažkas *' 2> output.txt
/ usr / share / doc / kažkas / usr / share / doc / kažkas / pavyzdžiai / something_random / usr / share / kažkas / usr / žaidimai / kažkas
Dabar, jei katė išvesties.txt turinį, pamatysite, kad čia buvo išsaugoti klaidų pranešimai:
katė output.txt
rasti: „/ run / udisks2“: neleidžiama gauti leidimo: „/ run / wpa_supplicant“: neleidžiama naudoti leidimo
Išsamesnės informacijos apie tai, kaip nukreipti duomenų srautus, žr.
Klaidos pranešimas, operacinės sistemos sąlygos