1 2 3 4 5 6 7 8 9 10 11 |
# Muestra un fichero pero no las líneas de más # de 80 caracteres while read buf do cuenta=`echo $buf | wc -c` if [ $cuenta -gt 80 ] then continue fi echo $buf done < $1 |
1 2 3 4 5 6 7 8 9 10 11 |
# Muestra un fichero pero no las líneas de más # de 80 caracteres while read buf do cuenta=`echo $buf | wc -c` if [ $cuenta -gt 80 ] then continue fi echo $buf done < $1 |
1 2 3 4 5 |
dir="/var/tmp" for file in $dir/*.bak do rm -f $file done |
1 2 3 4 5 |
LISTA="10 9 8 7 6 5 4 3 2 1" for var in $LISTA do echo $var done |
1 2 3 4 5 6 7 8 9 10 11 |
#!/bin/bash echo -n "Respuesta:" read RESPUESTA case $RESPUESTA in S* | s*) RESPUESTA="SI";; N* | n*) RESPUESTA="NO ";; *) RESPUESTA="PUEDE";; esac echo $RESPUESTA |
Las órdenes break y continue sirven para interrumpir la ejecución secuencial del cuerpo del bucle. break transfiere el control a la orden que sigue a done, haciendo que el bucle termine antes de tiempo. continuetransfiere el control a done, haciendo que se evalúe de nuevo la condición, prosiguiendo el bucle. En ambos casos, las órdenes del cuerpo del bucle siguientes a estas sentencias, no se ejecutan. Lo normal es que formen parte de una sentencia condicional, como if. Un par de ejemplos de su uso es:
# Muestra todos los parámetros, si encuentra una «f» finaliza
while [ $# -gt 0 ]
do
if [ $1 = «f» ]
then
break
fi
echo Parámetro: $1
shift
done
# Muestra todos los parámetros, si encuentra una «f»
# se lo salta y continúa el bucle
while [ $# -gt 0 ]
do
if [ $1 = «f» ]
then
shift
continue
fi
echo Parámetro: $1
shift
done