Portál AbcLinuxu, 1. listopadu 2025 18:59
while read -n 5 myvar; do : done
break a to cyklus přeruší a skočí za něj.
#!/bin/bash
i=0
while read -n 5 myvar; do
echo "Zadano ${myvar}"
i=$((i+1))
if test $i = 10; then
break
fi
done
Jinak pozor na to, že třeba dash nezná argument -n pro jeho read, funguje to asi jen v bashi, takže nezapomeň na správný shebang.
# nacti text do promenne myvar
while read myvar; do
# kdyz je pocet znaku mensi nez 6, tak skonci
if test "${#myvar}" -lt 6; then
break
fi
# kdyz je delsi, tak vypis chybu, at to zkusi znovu
echo "Musi byt <= 5 znaku"
# a opakuj
done
# a tady se dostanes, az uzivatel zada neco <= 5 znaku
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.