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 paleisti

Kaip paleisti "Spigot" "Minecraft" serverį pritaikytuose daugialypės terpės žaidimuose

"Minecraft" vietinis LAN palaikymas puikiai tinka žaidimams skraidyti, bet jei norite specialiai pritaikyto serverio, "Spigot" yra būdas eik "Spigot" yra sukurtas naudojant "plugin" API vadinamą "Bukkit", kuris leidžia lengvai pritaikyti žaidimo žaidimus ir, kadangi "Bukkit" projektas buvo maždaug nuo "Minecraft multiplayer" daina, daugelis kūrėjų išleido savo papildinius ir modifikacijas.

(how-to)

Kaip reguliuoti kompiuterio ekrano ryškumą rankiniu būdu ir automatiškai

Kaip reguliuoti kompiuterio ekrano ryškumą rankiniu būdu ir automatiškai

Turbūt reguliariai reikia keisti ekrano ryškumą. Kai jis ryškus lauke, jūs norite jį išjungti, kad galėtumėte pamatyti. Kai esate tamsioje patalpoje, jūs norėsite, kad ji būtų aptemdyta, kad nepakenktų jūsų akims. Ekrano ryškumo mažinimas taip pat padės sutaupyti energijos ir padidinti nešiojamojo kompiuterio akumuliatoriaus veikimo laiką.

(how-to)