Portál AbcLinuxu, 7. května 2025 05:39
for (( ii=0 ; $ii <= 99 ; ii++ )) ; do for xx in a b c d e f; do # vyjímky - přeskočit if [ "$xx$ii" == "c0" ]; then continue fi if [ "$xx$ii" == "d7" ]; then continue fi echo zpracování $xx$ii done doneAbych nemusel psát na každou vyjímku extra podmínku. Něco takového:
for (( ii=0 ; $ii <= 99 ; ii++ )) ; do for xx in a b c d e f; do # vyjímky - přeskočit if "$xx$ii" NOT IN ("c0", "d7"); then <-- pseudokód continue fi echo zpracování $xx$ii done done
Řešení dotazu:
case "$xx$ii" in "c0") "d7") continue ;; *) ;; esac
kleptor@morrigan:~:0:$ a=c0 kleptor@morrigan:~:0:$ [[ -z ${a#@(c0|d7)} ]] kleptor@morrigan:~:0:$ echo $? 0 kleptor@morrigan:~:0:$ a=ahoj kleptor@morrigan:~:0:$ [[ -z ${a#@(c0|d7)} ]] kleptor@morrigan:~:1:$ echo $? 1
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.