Paso de parámetros y opciones

Clase 15 de 43Curso de Programación en Bash Shell

Resumen

¿Cómo manejar opciones y parámetros en un script de Bash?

En esta clase abordamos el interesante mundo del manejo de opciones y parámetros dentro de scripts en Bash. Para quienes buscan mejorar sus habilidades en la programación de scripts, dominar estos conceptos es fundamental. Exploramos cómo enviar opciones de manera independiente o complementaria y cómo leer sus valores según el método de envío.

¿Qué consideraciones debemos tener?

Al trabajar con scripts, es crucial tener en mente las siguientes consideraciones:

  • Envío independiente o complementario: Las opciones pueden enviarse de manera independiente o junto con parámetros. Es esencial entender cómo manejar ambas.
  • Método de lectura de valores: La manera de leer los valores cambiará dependiendo del tipo de envío.

¿Cómo ejemplificamos el uso de opciones y parámetros?

Vamos a crear un script en un servidor Ubuntu para ilustrar estos conceptos. Sigamos paso a paso:

  1. Copiado de un script previo: Comenzamos duplicando un script existente para crear uno nuevo llamado options.sh. Usamos el siguiente comando para copiar:

    cp script8.sh 9-options.sh
    
  2. Edición del script: Al abrir el archivo nuevo, actualizamos la descripción para reflejar el ejercicio de envío de opciones con o sin parámetros. Eliminamos las líneas no necesarias presionando DD (para eliminar líneas en vi).

  3. Creación de un programa de ejemplo: Añadimos un título al script y listamos las opciones ingresadas. Utilizamos el comando echo para imprimir texto:

    echo "Programa opciones"
    echo "Opción 1 enviada: $1"
    echo "Opción 2 enviada: $2"
    echo "Opciones enviadas: $*"
    

¿Cómo recuperamos valores enviados?

Para manejar y recuperar valores de opciones y parámetros, es indispensable usar un bucle while en combinación con un case. El while ayuda a determinar si el argumento es una opción o un parámetro. Veamos un ejemplo:

while [ -n "$1" ]; do
    case "$1" in
        -a) echo "-a opción utilizada" ;;
        -b) echo "-b opción utilizada" ;;
        -c) echo "-c opción utilizada" ;;
        *) echo "$1 no es una opción" ;;
    esac
    shift
done

¿Qué resultados podemos esperar al ejecutar el script?

Al ejecutar el script y enviar los argumentos, el programa distinguirá entre opciones y parámetros. Por ejemplo:

./9-options.sh argumento1 argumento2 -a

El resultado mostrará:

  • Opción 1 enviada: argumento1
  • Opción 2 enviada: argumento2
  • Opciones enviadas: argumento1 argumento2 -a
  • -a opción utilizada

Es vital destacar que la opción se reconoce debido al prefijo - (guion), diferenciando una opción de un parámetro.

El conocimiento de cómo manejar correctamente opciones y parámetros en scripts de Bash te permitirá ejecutar procesos específicos y manipular datos de manera eficiente. Este es solo un primer vistazo, pero una vez que domines estos conceptos, tus scripts ganarán en versatilidad y flexibilidad. ¡Sigue practicando y explorando!