lt.phhsnews.com


lt.phhsnews.com / Kaip paleisti komandą fone be rezultatų, jei nėra klaidos?

Kaip paleisti komandą fone be rezultatų, jei nėra klaidos?


Jei esate užsiėmęs žmogus, paskutinis dalykas, kurio jums reikia, yra būti varginantis su didžiuliu "nenaudingų" pranešimų kiekis, taigi, kaip jūs nusiraminate dalykus? Šiandienos "SuperUser" Q & A žinutė turi keletą puikių atsakymų, kad padėtų skaitytojui užblokuoti produkcijos kiekį.

Šiandienos klausimų ir atsakymų sesija ateina su meile iš "SuperUser" - "Stack Exchange", bendruomenės pagrįstos Q & A grupės interneto svetainių, padalijimo.

Klausimas

"SuperUser" skaitytuvas "Xster" nori žinoti, kaip paleisti komandą fone be išvesties, išskyrus atvejus, kai yra klaida:

Kaip slopinti komandų išvestį, bet parodyti, ar komandų išėjimo kodai klaida?

Kaip gaunate komandą paleisti fone be rezultatų, jei nėra klaidos?

Atsakymas

SuperUser autoriai Bobas ir Maximillian Laumeister atsakė už mus. Pirma, Bob:

Deja, prielaida, kad stderr naudojama tik klaidų išvedimui, ne visada yra teisinga. Greičiausiai stderr dažnai naudojamas bet kuriam ir visiems interaktyviam išėjimui ir diagnostikai (ty išėjimui, kurį vartotojas turi perskaityti interaktyvioje eilutėje). (1) wget ir dd yra gerai žinomi pavyzdžiai.

Kai kurioms komandoms bus numatyta vėliava (ty -svydis arba -silent ), kad būtų užkirstas kelias be klaidų. Perskaitykite jų meniu puslapius, kad sužinotumėte, ar jie egzistuoja.

Kitas dažniausiai pasitaikantis susitarimas yra išėjimo kodas , programa grąžina išėjimo kodą, kai jis baigiasi. Paprastai (2) išėjimo kodas 0 rodo sėkmę, o bet koks kitas išėjimo kodas nurodo klaidą.

Naudodami bash , galite gauti paskutinės komandos išėjimo iš $? kintamojo pabaigos kodą. Į fish naudokite kintamąjį $ status . Galite pagaminti stderr į laikiną failą ir jį atspausdinti, jei atsiranda klaida. Pavyzdžiui ( fish ):

Jūs taip pat galite naudoti kai kuriuos sparčiuosius klavišus, jei nesate grandinės komandas:

Arba:

Taip pat galite pakabinti stdout į tą pačią buferis naudojant 2> & 1> / tmp / outputbuffer .

( Pastaba: Aš iš tikrųjų nežinau fish , todėl aš pritaikau šią sąvoką ką aš galiu rasti savo dokumentuose.Sinteksė gali būti šiek tiek klaidinga.Taip pat galite naudoti mktemp , kad sukurtumėte unikalų laikiną failą. Vykdyti ir įrašyti failo pavadinimą kintamuju.)

Jei jums reikia paleisti visą dalyką lukšto fone, kurį tuo pačiu metu naudojate ir interaktyviai, tada jums geriau rašyti scenarijų, kuris sugeba paleisti išvesties ir paleisti tą scenarijų fone naudojant standartines technologijas ( žuvis ). Heck, galite įdiegti kažką panašaus į šią funkciją ~ / .config / fish / config.fish :

Skambinkite naudodami paleisti tylią somecommand ir (kur baigiasi & sukelia tai paleisti fone)

Atkreipkite dėmesį, kad tai sugrąžins pradinį išvesties kodą ir, jei bus išjungtas, išmesti tiek stdout , tiek stderr nesėkmė.

(1) Nėra jokios garantijos, kad klaidų išvedimas nebus rodomas stdout , kai kurios programos išsiskleidžia visą produkciją!

(2) Deja, tai dar ne visada. Išėjimo kodas yra visiškai kontroliuojamas programos, o kai kurie nurodo tam tikras sėkmės sąlygas su nuliniais išėjimais.

Vykdydami Maximillian Laumeister atsakymą:

"Unix" komunalinės paslaugos siunčia bendruosius pranešimus į stdout ir klaidų pranešimus į stderr , taigi, jei mes tik norėsite pamatyti klaidų pranešimus, tada užtenka užblokuoti stdout , kad į konsolę patektų tik stderr .

Tai padaryti (abiem atvejais bash ir fish ) yra pridėti > / dev / null komandai. Šie vamzdžiai stdout į nieką, bet stderr (su jūsų klaidos pranešimais) vis dar patenka į konsolę.

Pavyzdžiui:

komanda echo 1 > / dev / null nerašoma, nes normalusman doesnotexist> / dev / null atspausdina klaidos pranešimą, nes žmogus

rašo klaidos pranešimą stderr . Ar turite ką nors įtraukti į paaiškinimą? Garsas išjungtas komentaruose. Norite skaityti daugiau atsakymų iš kitų "Tech-savvy Stack Exchange" vartotojų? Patikrinkite visą diskusijų temą čia.


Kaip sukurti

Kaip sukurti "Custom Word" ekrano taškus "Word 2013"

"ScreenTips" programoje "Word" yra nedideli iššokantys langai, kuriuose pateikiamas aprašomojo teksto tekstas apie komandą arba valdoma pele. Savo dokumentuose taip pat galite kurti savo "ScreenTips" žodžius, frazes ar vaizdus. Paprastai "ScreenTips" sukurtos naudojant hipersaitus, leidžiančius nukreipti jus į kitą dokumento ar tinklalapio vietą arba sukurti naują el.

(how-to)

Kaip išjungti

Kaip išjungti "SkyBell HD Doorbell"

". Kartais tiesiog nenorite būti varginami, kai esate namuose, taigi, kaip laikinai išjungti "SkyBell HD" T keistis, ar kas nors skamba jūsų durų varpeliu. Nesvarbu, ar jūs kūdikis napping, ar tik naktį vėlai, ir jūs nenorite, kad chuliganai skambėtų jūsų durų angai, kol pabandate miegoti, tai puiki galimybė turėti protingas durų skambutis.

(how-to)