next up previous contents index
Next: ``And'' y "or'' de Up: Control de flujo Previous: Control de flujo   Índice General   Índice de Materias


if/else

  if condición
  then               #ejecutado cuando condición es 0
      código
  [elif condición
  then
      código]
  [else código]      #ejecutado para el resto de los casos
  fi
Donde condición no será una expresión de valor booleano, sino el estado de salida de un comando. Cuando un comando se ha ejecutado sin errores devuelve como estado de salida 0 (cierto); si no, devuelve algo $ >$0 (falso)2.5.

Ej:
if cat fichero
then
    echo "fichero existe"
else
    echo "fichero no existe"
fi
Si fichero NO existe, nos devolverá lo siguiente:
cat: fichero: No existe el fichero o el directorio
fichero no existe+
Si fichero existe, se mostrara el contenido del fichero y luego dirá fichero existe.

Nosotros también podemos implementar esto mediante el uso de return [N], que se usa dentro de las funciones para detener su ejecución, devolviendo como estado de salida el del último comando ejecutado, o N.

A la hora de utilizar operadores aritméticos, nos será muy útil la función let $((expresión)), que ofrece como estado de salida el valor de la evaluación aritmética de la expresión.

Ej:
echo "Introduzca un numero: "
read var
if let $((var==0))
then
    echo "El valor de var es 0"
else
    echo "El valor de var NO es 0, es $var"
fi



Subsecciones
next up previous contents index
Next: ``And'' y "or'' de Up: Control de flujo Previous: Control de flujo   Índice General   Índice de Materias
Alberto Cortés 2001-03-26