cs.phhsnews.com


cs.phhsnews.com / Jak spustit příkaz na pozadí s žádným výstupem, pokud se neobjeví chyba?

Jak spustit příkaz na pozadí s žádným výstupem, pokud se neobjeví chyba?


Pokud jste zaneprázdněn, pak poslední věc, kterou potřebujete, je obtěžovat obrovský Množství "zbytečných" oznámení, tak jak se vám zklidní věci? Dnešní příspěvek SuperUser Q & A obsahuje několik skvělých odpovědí, které pomohou čtenáři ztišit množství výstupů.

Dnešní zasílání dotazů a odpovědí nám přichází s laskavým svolením SuperUser - podřízenou skupinou Stack Exchange.

Čtečka dotazu

SuperUser Xster chce vědět, jak spustit příkaz na pozadí bez výstupu, pokud neexistuje chyba:

Jak potlačit výstup příkazu, ale ukázat, chyba?

Jak dostanete příkaz k běhu na pozadí bez výstupu, pokud se neobjeví chyba?

Odpovědí

přispěvatelé SuperUser Bob a Maximillian Laumeister mají pro nás odpověď. První, Bob:

Bohužel, předpoklad, že stderr je používán pouze pro chybový výstup, není vždy správný. Naopak stderr je často používán pro všechny interaktivní výstupy a diagnostiku (tj. Výstup určený uživateli k čtení v interaktivním výzvě) (1) wget

) potlačuje výstup bez chyby. Přečtěte si jejich stránky man, abyste zjistili, zda existuje. Další konvence, která drží častěji je kód exit , program vrátí při ukončení výstupní kód. Obvykle

(2) , výstupní kód 0 označuje úspěch a každý jiný kód ukončí s bash . výstupní kód posledního příkazu z proměnné $? . U ryb použijte proměnnou $ status . Můžete načíst

stderr

do dočasného souboru a vytisknout jej pouze v případě, že dojde k chybě. Například (

ryby ): Můžete také použít některé klávesové zkratky, pokud nejste řetězové příkazy: nebo: buffer

2> & 1> / tmp / outputbuffer . Poznámka: co můžu najít ve své dokumentaci.Tato syntaxe může být mírně špatná.Můžete také použít mktemp k vygenerování jedinečného dočasného souboru.Navštívte jej a zapište název souboru do proměnné.)

Pokud musíte spustit celou věc na pozadí shellu, který také používáte interaktivně ve stejnou dobu, pak byste měli lépe psát skript pro zpracování výstupu - skrývání a běh tohoto skriptu na pozadí se standardními technikami ( ryby ). Hex, můžete něco jako následující funkci v ~ / .config / fish / config.fish :

Volat s run-silent somecommand & (kde koncový & způsobí, že se bude spouštět na pozadí)

Všimněte si, že toto bude přehrát původní kód ukončení a v případě výskytu chyby stdout a stderr selhání.

(1) Neexistuje žádná záruka, že se chyba výstupu neobjeví na stdout , některé programy vypisují všechny výstupy

Bohužel, stále tomu tak není. Výstupní kód je zcela řízen programem a některé ukazují některé podmínky úspěšnosti s nenulovými výstupy. Znovu zkontrolujte příručku

Následuje odpověď od Maximilliana Laumeistera:

Unixové nástroje posílají obecné zprávy na stdout a chybové zprávy na stderr chtít vidět chybové zprávy, pak bude stačit potlačit stdout tak, žedostane výstup do konzoly

Způsob, jak to udělat (v obou bash a ryby ) má přidat příkaz > / dev / null . Toto potrubí stdout do nulového bodu, ale stderr (s chybovými zprávami) stále přichází do konzoly.

Například:

Příkaz echo 1 > / dev / null nevytiskne nic, protože normální Stdout výstup je potlačen a nic nebylo zapsáno na stderr .

Příkaz man doesnotexist> / dev / null zapíše své chybové hlášení na stderr . Musíte něco přidat k vysvětlení? Zní to v komentářích. Chcete se dozvědět více odpovědí od ostatních uživatelů technologie Stack Exchange? Podívejte se na celý diskusní příspěvek zde.



HTG přezdívá Amped Wireless TAP-EX Wi-Fi Extender: Beefy Power na pásmu 2,4Ghz

HTG přezdívá Amped Wireless TAP-EX Wi-Fi Extender: Beefy Power na pásmu 2,4Ghz

€ € Prodlužovače bezdrátového připojení jsou desetinou, ale TAP-EX stojí v jedné oblasti: surový výkon. Tento nepatrný kus síťového hardwaru vyčerpá 800 mW signálu zesilující džus. Přečtěte si, jak jsme to uvedli v krocích a zjistíme, zda to stojí za přijetí. Co je to TAP-EX? TAP-EX je rozšíření řady Wi-Fi od společnosti Amped Wireless s tabletovým formulářem faktor vágně připomínající digitální obrazový snímek.

(how-to)

Jak přidat automatické světla do vašich skříní

Jak přidat automatické světla do vašich skříní

Světelné spínače jsou v pořádku, ale pro něco jako skříň nebo spíž, zapnutí a vypnutí světla je opravdu výhodné. Zde je několik způsobů, jak přidat automatické světla do vašich skříní, komor a dalších oblastí, kde potřebujete jen malé množství dočasného světla. Pokud je zásuvka v zásuvce Pokud vaše skříňka již svítí Pokud máte nainstalovanou inteligentní domácí platformu, jako jsou SmartThings a Philips Hue, můžete použít snímač pohybu nebo snímač pohybu.

(how-to)