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

Kaip "Windows" paleisti garsą, kai paspaudžiate "Caps Lock", "Num Lock" arba slinkties klavišą

Ar jūs kada nors įjungėte klavišą "Caps Lock" ATSITIKTINIS, KAD TIKSUOTA? Ar netyčia išjungėte "Num Lock" klavišą, tada bandėte naudoti skaičių klaviatūrą? Nesijaudink. Yra "Windows" nustatymas, kuris gali jums pranešti garsu, kai paspaudžiate vieną iš šių klavišų. "Toggle Keys" nustatymas sistemoje "Windows" suteikia galimybę atkurti toną, kai paspaudžiate klavišus Caps Lock, Num Lock arba Scroll Lock .

(how-to)

Darbo su "New Amazon Echo" pradžia

Darbo su "New Amazon Echo" pradžia

Ar neseniai šoktelėjote į pralaimėjimus ir įsigijote "Amazon Echo"? Jei esate toks pat kaip ir aš, jūs tikriausiai girdėjote daugybę puikių dalykų apie įrenginį ir tai, kaip daug žmonių tiesiog mėgsta savo "Echo"!Na, aš nusprendžiau sužinoti, kokia buvo visa hype, ir gavau vieną sau. Turiu pripažinti,

(How-to)