Portál AbcLinuxu, 14. července 2025 21:11


Dotaz: Problém s přesměrováním v BASH

16.9.2013 15:53 Orlando
Problém s přesměrováním v BASH
Přečteno: 243×
Odpovědět | Admin
Ahoj, proč se mi vypisuje chyba na obrazovku a nepadá do černé díry?

echo "foo" >> /tempik/log 2>/dev/null || exit 1

Poradí někdo? Děkuji. (dir /tempik neexistuje!).

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

16.9.2013 16:16 NN
Rozbalit Rozbalit vše Re: Problém s přesměrováním v BASH
Odpovědět | | Sbalit | Link | Blokovat | Admin
Souvisi to s dedenim file deskriptoru, ale podrobnosti nedam.. NIcmene se to da vyresit tak, ze to otocis:
echo "foo" 2>/dev/null > /tempik/log 
16.9.2013 16:25 Orlando
Rozbalit Rozbalit vše Re: Problém s přesměrováním v BASH
Děkuji za cenné info, a to "špatné" dědění nastává pouze při použití echa nebo je lepší používat tohle pořadí jako standardní?
16.9.2013 19:46 NN
Rozbalit Rozbalit vše Re: Problém s přesměrováním v BASH
Kdyz to vezmu logicky, presmerovani se vyhodnocuje zleva do prava. Takze v tvem pripade k druhemu presmerovani do /dev/null vubec nedojde, protoze prikaz vyhori v druhe casti prvniho presmerovani a to konkretne neexistenci adresare..
pavlix avatar 16.9.2013 20:15 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Problém s přesměrováním v BASH
Ono to nemá s „děděním“ fd nic moc společného. Prostě shell vyhodnocuje nejdřív první přesměrování, potom druhé. Vzhledem k tomu, že obojí dělá jeden proces shellu, není tam, co „dědit“. Na druhou stranu, ve chvíli, když se volá exec() (pokud bys použil /bin/echo místo interního echo), tak si nově spuštěný program ponechává deskriptory tak, jak jsou a opět není, co řešit. Interní echo na tom nic nemění, což se dá i vyzkoušet voláním celé cesty.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
16.9.2013 20:50 NN
Rozbalit Rozbalit vše Re: Problém s přesměrováním v BASH
Jeste to zafungovalo takto:
 (echo foo > /root/bat ) 2>/dev/null

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.