Comandos de Linux

Ejemplo de getopts de Linux

Ejemplo de getopts de Linux
"Getopts" es un comando muy útil en Linux que se incorpora principalmente dentro de los scripts de bash para tomar banderas y argumentos como entradas del usuario. Para profundizar en el uso de este comando en Linux Mint 20, compartiremos con usted dos ejemplos diferentes de su uso en este artículo.

Ejemplos de "getopts" en Linux Mint 20:

Para una comprensión más fácil y mejor del comando "getopts" en Linux Mint 20, hemos diseñado para usted dos escenarios de ejemplo. Antes de dirigirse a estos escenarios, puede consultar el manual de ayuda del comando "getopts" en la terminal de Linux Mint 20 para que pueda tener una idea básica sobre la sintaxis de este comando. Puede ver el manual de ayuda de este comando ejecutando el comando "ayuda":

$ getopts --help

El manual de ayuda del comando "getopts" contendrá una breve descripción del uso de este comando junto con su sintaxis, como se muestra en la siguiente imagen:

Ahora, cuando hemos revisado el manual de ayuda del comando "getopts", podemos continuar con nuestros escenarios de ejemplo de la siguiente manera:

Caso # 1: Pasar banderas a un script Bash para su ejecución en Linux Mint 20:

En este ejemplo, crearemos un script bash que tomará una bandera como entrada del usuario junto con el comando de ejecución de ese script bash. Dependiendo del valor de la bandera proporcionada, se mostrará la salida respectiva. La descripción detallada de los pasos involucrados en este escenario es la siguiente:

Paso # 1: escribir un script de bash:

Primero, escribiremos un script bash en nuestro directorio de inicio. Hemos nombrado este archivo como getopts.sh. El contenido de este script bash se muestra en la siguiente imagen. En el script bash que se muestra a continuación, tenemos un bucle "while" que se ejecuta en el comando "getopts". Aquí, este comando "getopts" se usa para tomar una bandera como entrada del usuario. El valor de esta bandera puede ser "r", "y" o "g", que representan los colores "rojo", "amarillo" y "verde", respectivamente. La variable "opción" se utilizará para almacenar el valor de la bandera proporcionada por el usuario. Luego, hemos utilizado una declaración de "caso" sobre el valor de la bandera proporcionada que mostrará un mensaje personalizado dependiendo del valor de la bandera de "opción". Finalmente, hemos cerrado el bloque "case" con la sentencia "esac" y el bloque "do" con la sentencia "done".

Paso # 2: Probar el script Bash:

Después de crear y guardar nuestro script bash, ahora es el momento de ejecutarlo. Probaremos todos los casos uno por uno. Primero, ejecutaremos el script bash con la bandera "-r" para ver si produce la salida correcta o no de la siguiente manera:

$ bash getopts.sh -r

La salida personalizada de nuestro script bash con la bandera "-r" se muestra en la siguiente imagen:

Ahora, ejecutaremos el script bash con la bandera "-y" para ver si produce la salida correcta o no de la siguiente manera:

$ bash getopts.tímido

La salida personalizada de nuestro script bash con el indicador "-y" se muestra en la siguiente imagen:

Ahora, ejecutaremos el script bash con la bandera "-g" para ver si produce la salida correcta o no de la siguiente manera:

$ bash getopts.sh -g

La salida personalizada de nuestro script bash con el indicador "-g" se muestra en la siguiente imagen:

Finalmente, ejecutaremos nuestro script bash con cualquier bandera aleatoria, i.mi. una bandera que no es válida o una bandera que no se menciona en nuestro script bash dice "-a" de la siguiente manera:

$ bash getopts.sh -a

Esta vez, se ha ejecutado el caso predeterminado de nuestro script bash que ha mostrado un mensaje de error ya que usamos una bandera inválida.

Caso # 2: Pasar banderas junto con argumentos a un script Bash para su ejecución en Linux Mint 20:

En este ejemplo, crearemos un script bash que tomará una bandera y un argumento como entrada del usuario junto con el comando de ejecución de ese script bash. Dependiendo del valor de la bandera y el argumento proporcionados, se producirá la salida respectiva. La descripción detallada de los pasos involucrados en este escenario es la siguiente:

Paso # 1: escribir un script de bash:

El script bash utilizado para este caso se muestra en la imagen a continuación y es muy similar al que creamos para nuestro caso # 1. La única diferencia es que esta vez, no permitimos múltiples banderas. El usuario solo puede ingresar la bandera "-r". Sin embargo, los dos puntos ":" después de la bandera "r" en el script bash indican que el usuario también debe proporcionar un argumento junto con la bandera. Este argumento se almacenará en la variable "OPTARG" predeterminada. Para mostrar el valor del argumento proporcionado con el comando "echo", hemos utilizado un símbolo "$" antes de la variable "OPTARG".

Paso # 2: Probar el script Bash:

Después de guardar este script de bash, ahora es el momento de probarlo. Nuevamente, probaremos todos los casos uno por uno. Primero, ejecutaremos el script bash con la bandera "-r" y un argumento de muestra "negro" para ver si produce la salida correcta o no de la siguiente manera:

$ bash getopts.sh -r negro

La salida personalizada de nuestro script bash con el indicador "-r" y el argumento "negro" se muestra en la siguiente imagen:

Ahora, probaremos este script con una bandera inválida y un argumento válido de la siguiente manera:

$ bash getopts.sh -a negro

Esta vez, se ha ejecutado el caso predeterminado de nuestro script bash que ha mostrado un mensaje de error ya que usamos una bandera inválida.

Ahora, ejecutaremos este script bash omitiendo la bandera y simplemente pasando un argumento válido de la siguiente manera:

$ bash getopts.sh negro

Esta vez, no se producirá ninguna salida en la terminal o, en otras palabras, nuestro script bash no se ejecutará ya que hemos omitido una bandera obligatoria.

Finalmente, ejecutaremos este script bash omitiendo el argumento y simplemente pasando la bandera válida de la siguiente manera:

$ bash getopts.sh -r

Nuevamente esta vez, se ha ejecutado el caso predeterminado de nuestro script bash que ha mostrado un mensaje de error ya que hemos omitido el argumento obligatorio.

Conclusión:

Estos dos ejemplos son una descripción muy agradable del uso del comando "getopts" en un script bash en Linux Mint 20. Incluso puede crear escenarios más complejos en bash y emparejarlos con el comando "getopts" para tomar más de un argumento y banderas del usuario como entradas.

Juegos HD remasterizados para Linux que nunca tuvieron un lanzamiento de Linux antes
Muchos desarrolladores y editores de juegos están creando una remasterización HD de juegos antiguos para extender la vida útil de la franquicia, por f...
Cómo usar AutoKey para automatizar juegos de Linux
AutoKey es una utilidad de automatización de escritorio para Linux y X11, programada en Python 3, GTK y Qt. Usando su funcionalidad de scripting y MAC...
Cómo mostrar el contador de FPS en juegos de Linux
Los juegos de Linux obtuvieron un gran impulso cuando Valve anunció el soporte de Linux para el cliente Steam y sus juegos en 2012. Desde entonces, mu...