Portál AbcLinuxu, 11. května 2025 04:49
case "$FOO" in podminka 1 ) echo "if1" ;; podminka 2 ) echo "if2" ;; else ) echo "else" ;; esacta podmínka kterou tam potřřebuji dostat je:
if [ -f "$FIL"]; then echo "$FIL existuje" fiDěkuji za radu
Řešení dotazu:
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.
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
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.