Inicio wiki
Aula Virtual
 Administración de Sistemas Operativos
Inicio ASO Aula Virtual

Vistas
  •   Estructuras de control
De ASO

Las estructuras de control permiten cambiar el flujo de programa, en funci贸n del estado de las variables.

Contenido

Condici贸n simple (IF)

Las condiciones simples (if) nos permiten que en caso de cumplirse una determinada condici贸n se ejecute un determinado c贸digo. La sintaxis de las sentencias if es: if condici贸n

then
     comandos
else
     comandos
fi

A continuaci贸n podemos ver un ejemplo

#!/bin/bash
echo -n "Introduce un valor: "
read var
if (( var < 10 ))
then
   echo "Es menor que 10"
else
   echo "Es mayor que 10"
fi

Condiciones m煤ltiples (CASE)

Cuando queremos realizar muchas condiciones sobre un mismo valor (p.e. en un men煤) la mejor opci贸n es utilizar case. Su estructura es:

case  $variable in
   valor1)   commando
             ..
             commando;;
   valor2)   commando
             ..
             commando;;

...

   *)        commando
             ..
             commando;;
esac

A continuaci贸n se puede ver un ejemplo sencillo:

#!/bin/bash
echo -n "Introduce un valor: "
read var1
case $var1 in
 1) echo " uno ";;
 2) echo " dos ";;
 3) echo " tres ";;
 4) echo " cuatro ";;
 *) echo "opcion incorrecta ";;
esac

Bucle for

El bucle for se utiliza para ejecutar un c贸digo un determinado n煤mero de veces. Su sintaxis es: for (( expr1; expr2; expr3 )) do

  ...
Done

A continuaci贸n podemos ver un ejemplo que muestra los n煤meros del 0 al 5:

#!/bin/bash
for ((  i = 0 ;  i <= 5;  i++  ))
do
 echo " $i "
done

Tambi茅n se puede utilizar el for para moverse en una lista de elementos for variabe in lista_elementos

do
 echo " $variable "
done

Bucle while

El bucle while permite ejecutar un c贸digo hasta que no se cumpla una determinada condici贸n de salida. Su sintaxis es: while [ condici贸n ] do

   comando1
   comando2
   ...
done

A continuaci贸n podemos ver un ejemplo muy sencillo:

#/bin/bash
limite=5
i=0;
while (test $limite -gt $i)
do
   echo 鈥淰alor $i鈥
   let i=$i+1
done