Puede proporcionar cualquier número deseado de argumentos de línea de comandos a sus scripts bash en Ubuntu 20.04 Mientras los ejecuta. Sin embargo, a veces los scripts se escriben de una manera tan dinámica que incluso el programador no sabe exactamente cuántos argumentos proporcionarán el usuario en tiempo de ejecución, pero es posible que desee usar ese número total en algún lugar más tarde en ese script.
En esta situación, debe haber una forma de verificar el número total de argumentos pasados a cualquier script de bash en particular. Para eso, Bash tiene una variable especial, yo.mi., ps. Para descubrir cómo funciona esta variable especial, tendrá que pasar por todos los ejemplos compartidos en este artículo.
Método para verificar el número de argumentos en Bash en Ubuntu 20.04:
Para explicarle el método de verificar el número de argumentos proporcionados a un script bash en Ubuntu 20.04, hemos diseñado algunos ejemplos que se discuten a continuación:
Ejemplo # 1: Impresión del número total de argumentos en Bash:
Simplemente imprimir el número total de argumentos pasados a un script bash en Ubuntu 20.04, puede escribir un script bash como el que se muestra en la siguiente imagen:
La variable especial de $# siempre contiene el número total de argumentos pasados a cualquier script de bash específico.
Para probar este script, lo hemos ejecutado con tres argumentos o parámetros de la siguiente manera:
$ BASH Argumentos.sh 1 2 3
Aquí, argumentos.SH es el nombre de nuestro archivo de script bash, mientras que 1, 2 y 3 son los argumentos que hemos pasado a este script bash. Significa que el número total de argumentos en este caso de prueba es "3". Intentemos averiguar si este script bash ha mostrado correctamente el número total de argumentos o no.
Cuando ejecutamos este script bash, mostrará el número total de argumentos que se le pasarán, que se pueden ver desde la imagen que se muestra a continuación:
Ejemplo # 2: Impresión del número total de argumentos junto con los valores de los argumentos con parámetros posicionales en Bash:
Ahora, escribiremos un script bash que imprima los valores de los argumentos pasados a un script bash y su número total. Por hacer eso, el guión de Bash es el siguiente:
En este script bash, primero hemos impreso los valores de los tres parámetros posicionales. Significa que cualquier argumento se pasará a este script bash de la terminal se almacenará en estos tres parámetros posicionales. Después de eso, simplemente hemos impreso el valor de la variable especial de $#.
En nuestro primer ejemplo, ejecutaremos este script con los mismos argumentos a medida que pasamos al script bash. Esta vez, cuando ejecutaremos nuestro script bash, los valores de los tres argumentos aprobados también se mostrarán en el terminal junto con su número total, como puede ver en la imagen que se muestra a continuación:
Ejemplo # 3: Impresión del número total de argumentos junto con los valores de los argumentos con la variable especial $@ en Bash:
El objetivo de este ejemplo es el mismo que el de nuestro segundo ejemplo; Sin embargo, en este ejemplo, usaremos otra variable especial, yo.mi., $@, por imprimir los valores de los argumentos aprobados. Básicamente, la variable especial $@ puede contener todos los argumentos que se pasan a un script bash. Para comprender esto, puede echar un vistazo al siguiente script de Bash que hemos diseñado para usted:
En este script bash, simplemente hemos impreso el valor de la variable especial $@, yo.mi., Todos los argumentos aprobados y el valor de la variable especial $#, yo.mi., El número total de los argumentos aprobados en la terminal.
Para ver cómo funciona este script bash modificado, lo hemos ejecutado nuevamente con los mismos parámetros que en los dos ejemplos anteriores. Cuando se ejecutó este script, la salida resultó ser exactamente la misma que tuvimos en nuestro segundo ejemplo.
Ejemplo # 4: Impresión del número total de argumentos junto con los valores de los argumentos con la variable especial $* en Bash:
Esta es otra versión modificada de nuestro segundo ejemplo, ya que, en este ejemplo, utilizaremos la variable especial $* para imprimir los valores de los argumentos aprobados en el terminal. Al igual que la variable especial $@, la variable especial $* también puede contener los valores de todos los argumentos aprobados a cualquier script bash en particular. El script bash modificado se muestra en la imagen a continuación:
En este script bash, simplemente hemos impreso el valor de la variable especial $*, yo.mi., Todos los argumentos aprobados y el valor de la variable especial $#, yo.mi., El número total de los argumentos aprobados en la terminal.
Para probar este script bash y visualizar su salida, lo ejecutamos con los mismos parámetros que en nuestros primeros tres ejemplos. Esta vez también, cuando se ejecutó nuestro script bash, su salida fue la misma que la de nuestro segundo y tercer ejemplo, como puede ver en la siguiente imagen:
Ejemplo # 5: Poner un límite al número total de argumentos en Bash:
Finalmente, la variable especial de $# también se puede usar para limitar el número total de argumentos pasados a un script bash en Ubuntu 20.04. Para comprender este fenómeno, tendrá que pasar por el script bash que se muestra en la imagen a continuación:
En este script bash, tenemos una declaración "si" que se aplica a la variable especial de $#. Queríamos limitar el número de argumentos a "3". Si los argumentos serán inferiores a "3", se imprimirá un mensaje de error en el terminal. Del mismo modo, si los argumentos serán mayores que "3", nuevamente se imprimirá un mensaje de error en el terminal. Sin embargo, si los argumentos proporcionados serán iguales a "3" solo, entonces los valores de estos argumentos se imprimirán en el terminal.
Queríamos probar las tres condiciones de este script bash. Para eso, primero hemos ejecutado este script con tres parámetros, y la salida correspondiente se muestra en la siguiente imagen:
Después de eso, ejecutamos este script bash con cuatro argumentos, debido a los cuales se imprimió un mensaje de error en el terminal como se muestra en la imagen a continuación:
Finalmente, ejecutamos este script bash con dos argumentos, debido a los cuales se imprimió un mensaje de error nuevamente en el terminal como se muestra en la siguiente imagen:
Conclusión:
La variable especial de $# le permitirá averiguar el número total de argumentos pasados a cualquier script bash fácilmente. Al revisar los ejemplos compartidos en este artículo, tendría una idea clara sobre el funcionamiento de esta variable especial. Por lo tanto, ahora puede escribir tales scripts bash sin preocupaciones que de alguna manera usen el número total de argumentos proporcionados a esos scripts de bash en tiempo de ejecución en Ubuntu 20.04.