Portál AbcLinuxu, 11. května 2025 04:49

Dotaz: BASH - podmínka v case

20.2.2013 23:36 Orlando
BASH - podmínka v case
Přečteno: 239×
Odpovědět | Admin
Dobrý večer, jak se prosím dá napsat podmínka v case? Nemůžu najít jediný příklad :(
case "$FOO" in
     podminka 1 ) echo "if1" ;;
     podminka 2 ) echo "if2" ;;
     else       ) echo "else" ;;
esac
ta podmínka kterou tam potřřebuji dostat je:
if [ -f "$FIL"]; then
     echo "$FIL existuje"
fi
Děkuji za radu

Ř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

21.2.2013 02:31 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: BASH - podmínka v case
Odpovědět | | Sbalit | Link | Blokovat | Admin

Co takhle si prečíst manuálovou/info stránku?:

case word in [ [(] pattern [ | pattern ] ... ) list ;; ] ... esac A case command first expands word, and tries to match it against each pattern in turn, using the same matching rules as for pathname expansion (see Pathname Expansion below).f the last command executed in list.
21.2.2013 02:39 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: BASH - podmínka v case
Odpovědět | | Sbalit | Link | Blokovat | Admin

Konstrukce case v Bourne shellu neumožňuje zapsat obecnou podmínku, ale jen vzorky, vůči nimž se matchuje hodnota uvedená za klíčovým slovem case, přičemž porovnání probíhá jako u wildcard expansion. Pokud potřebujete obecné podmínky, použijte

if [ -f "$FIL" ]; then
    ...
elif [ -d "$FIL" ]; then
    ...
elif [ -p "$FIL" ]; then
    ...
else
    ...
fi

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.