Portál AbcLinuxu, 29. září 2026 03:16


Dotaz: Jak na chyby v BASHi

9.2.2014 18:40 Zadejte vaše jméno
Jak na chyby v BASHi
Přečteno: 492×
Odpovědět | Admin
Ahoj, mám něco takového, kde potřebuji zachytit všechny chyby a uložit je do souboru err.log. Jenže se tak neděja :-( Jak to má být správně? Díky za info.
fce4(){
 FOO="Chyba!
}

fce3(){
 fce4
}

fce2(){
 fce3
}

fce1(){
 fce2
}

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

Odpovědi

9.2.2014 19:19 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Jak na chyby v BASHi
Odpovědět | | Sbalit | Link | Blokovat | Admin

Zápis FOO="Chyba! je blbě s ohledem na uvozovky.

Proměnná FOO nemá důvod odcházet na stderr
Pokud zápis opravíš na:

echo "Chyba!" >&2
tak se už něco stane.

To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
9.2.2014 20:37 Zadejte vaše jméno
Rozbalit Rozbalit vše Re: Jak na chyby v BASHi
Právě že jsem poukazoval na tu chybu v tom řádku záměrně... ale v logu nic nemám :-( ani pokud tam bude jiná chyba...
9.2.2014 20:42 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Jak na chyby v BASHi
Pokud tam nemáš tu uvozovku, tak se ti rozhodí celý script a žádné funkce neexistují.
Při jeho spuštění dostaneš něco jako:
./kuk.bash: line 4: unexpected EOF while looking for matching `"'
./kuk.bash: line 21: syntax error: unexpected end of file
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
9.2.2014 20:44 NN
Rozbalit Rozbalit vše Re: Jak na chyby v BASHi
Ten skript je syntakticky spatne. Pokud chces videt chybovy vystup, muzes to udelat takto:
./spatny_skript.sh 2> chyba
9.2.2014 20:57 Zadejte vaše jméno
Rozbalit Rozbalit vše Re: Jak na chyby v BASHi
A v čem přesně je ten skript syntakticky špatně ?
9.2.2014 21:17 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Jak na chyby v BASHi
Schází ta uvozovka.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
9.2.2014 23:42 potato
Rozbalit Rozbalit vše Re: Jak na chyby v BASHi
Odpovědět | | Sbalit | Link | Blokovat | Admin
bash -n skript

Teprve když toto vrátí exit status 0, tedy skript je syntaticky bez chyb, má smysl ošetřovat běhové chyby, protože teprve tehdy obsah skriptu něco definovaného znamená.

Založit nové vlákno • Nahoru

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

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