tutorial_de_programacion_en_bash

¡Esta es una revisión vieja del documento!


Las condiciones cuentan con introducción, nudo y desenlace. Introducen con su identificador, y desenlazan con un identificador inverso.

Se abre con if e incorpora la llamada then y se cierra con fi. Opcionalmente, en el nudo puede incorporar una función condicional else, con la sintaxis general:

if [ condicion ]
then
  hacer-algo
else
  hacer-otra-cosa
fi

While es una estructura de control de bucle iterativo, que continúa ciclando (“iterando”) hasta que el condicional suministrado dé falso.

Se abre con while (“mientras”) e incorpora la llamada do (“hacer”) y se cierra con done (“realizado”). Opcionalmente, en el nudo puede incorporar una función condicional until (“hasta”), que continúará iterando hasta que se valide el condicional. También puede incorporar la acción break (“interrumpir”), con la sintaxis general:

while condición
do
  paso1
  paso2
  ...
done

Observa este ejemplo, que mientras sea verdadero (condición “true”), presenta un mensaje con echo y utiliza la orden read (“leer entrada”, para solicita interacción del usuario a través del teclado), e interrumpe el programa si se introduce s o bien (indicado con -o S.:

while true
do
    echo "Introduce algo para procesar (ingresa S para salir)"
    read userinput
 
    if [ $userinput == "s" -o $userinput == "S" ]
  then
    break
fi
 
Procesar lo ingresado...
done

case “En caso” permite delimitar casos de condicionales. La introducción es case, el nudo incorpora el caso, que deben definirse en una línea aislada delimitados por un ). Si indicas los casos separados por un | significa “o también”. Un caso nomenclado con *) indica se interpreta como “todos los demás”. Cada caso debe contar con un separador de línea ;;. El desenlace es esac.

Ejemplo:

user=`whoami` # pone el nombre de usuari@ en 
              # la variable $user.
case $user in
    fulana)
      echo "Hola fulana. Sé que te gusta saber la hora, de modo que te la presento abajo."
      date
;;
    sultano)
      echo "Hola Sultano, recuerda tu lista de tareas pendientes."
      cat /home/sultano/sultano_to_do.txt
;;
    sosa|molina)
       echo "Hola. No olvides vigilar la carga en el sistema. El tiempo de encendido del mismo es:"
       uptime
;;
    *)
       echo "Hola, quien quiera que seas. ¡Ponte a obrar por la Liberación, y recuerda!"
       fortune doctrina
;;
esac
 
 
  • tutorial_de_programacion_en_bash.1657231814.txt.gz
  • Última modificación: 2022/07/07 22:10
  • por peron