Portál AbcLinuxu, 12. května 2025 06:58

Dotaz: BASH: Zachycení chyby

11.6.2012 12:31 Host
BASH: Zachycení chyby
Přečteno: 339×
Odpovědět | Admin
Zdravím, potřebuji poradit, proč mi ta funkce nevrátí chybu.. "echo "Chyba..."" Poradíte prosím někdo? Děkuji

function restart_apache {
/etc/init.d/apXXache2 restart || return 1
if [ $? -eq 0 ]; then
echo "Úspěch..."
else
echo "Chyba..."
fi
}

Ř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

11.6.2012 12:46 Kit
Rozbalit Rozbalit vše Re: BASH: Zachycení chyby
Odpovědět | | Sbalit | Link | Blokovat | Admin
Protože za voláním /etc/init.d/apXXache2 restart máš || return 1
11.6.2012 13:01 Host
Rozbalit Rozbalit vše Re: BASH: Zachycení chyby
No a co tam má tedy být? Díky
11.6.2012 14:43 Kit
Rozbalit Rozbalit vše Re: BASH: Zachycení chyby
Nic.
11.6.2012 14:51 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: BASH: Zachycení chyby
Navíc je zbytečné používat '$?', stačí
if /etc/init.d/apXXache2 restart; then
    echo "Úspěch..."
else
    echo "Chyba..."
fi
11.6.2012 15:01 Kit
Rozbalit Rozbalit vše Re: BASH: Zachycení chyby
Ono se to dá úplně zkrátit:
/etc/init.d/apXXache2 restart && echo "Úspěch..." || echo "Chyba..."
Jen se musí dát pozor, aby to nebylo na úkor přehlednosti.
David Watzke avatar 11.6.2012 15:31 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: BASH: Zachycení chyby
Až na to, že tohle (obecně) není to samý! Představ si místo příkazu echo něco, co může selhat. K tomuhle bych lidi vůbec nenaváděl.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
11.6.2012 21:28 l4m4
Rozbalit Rozbalit vše Re: BASH: Zachycení chyby
Echo může taky selhat, jen to není běžné (nejjednodušší je >/dev/full).

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.