CURSO DESDE 0 DE GNU/LINUX. Versión 2.
Entrega 46. Shell Script (V).
Estructura de control FOR.
El bucle 'for' es una estructura de control iterativa a la que se le puede indicar el número máximo de iteraciones. Su estructura en shellscript es tal que así:
for variable in lista-de-palabras
do
comandos
done
Las palabras reservadas do y done deben estar precedidas por un salto de línea o por un ';' o un '.' y podremos escribir nuestro bucle 'for' así:
for variable in lista; do comandos; done
Ejemplo:
#!/bin/sh
# Por cada usuario dado como argumento se
# comprueba si está conectado o no y se da
# el mensaje apropiado
for i in $*
do
if who | grep -s $i > /dev/null
then
echo $i está conectado
else
echo $i no está conectado
fi
done
De ejecución:
matados2k@imperio:~/curso$ chmod +x ejemplo46.sh
matados2k@imperio:~/curso$ ./ejemplo46.sh matados2k manolito karuchi
matados2k está conectado
manolito no está conectado
karuchi no está conectado
matados2k@imperio:~/curso$
El mismo ejemplo pero de la segunda forma:
#!/bin/sh
for i in $*; do if who | grep -s $i > /dev/null; then echo $i está conectado; else echo $i no está conectado; fi; done