Leer la entrada del usuario es una parte de la ecuación. En el artículo de hoy, aprenderemos a leer argumentos de línea de comandos en scripts de shell. Los scripts de shell son una herramienta esencial para cualquier usuario de Linux. Desempeñan un papel importante en la automatización de las tareas diarias y la creación de sus propios comandos o macros.
Estos scripts de shell pueden recibir información del usuario en forma de argumentos.
Cuando pasamos argumentos a un script de shell, podemos usarlos para la secuenciación local del script. Podemos usar estos argumentos para obtener resultados e incluso modificarlos como si fueran variables en scripts de shell.
¿Qué son los argumentos de línea de comandos?
Los argumentos de la línea de comandos son parámetros que se pasan a un script mientras se ejecutan en el shell bash.
También se conocen como parámetros posicionales en Linux.
Usamos argumentos de línea de comandos para indicar la posición en la memoria donde se almacenan el comando y sus parámetros asociados. Comprender los argumentos de la línea de comandos es esencial para las personas que están aprendiendo scripts de shell.
En este artículo, repasaremos el concepto de argumentos de línea de comandos junto con su uso en un script de shell.
Cómo entienden los scripts de Shell los argumentos de la línea de comandos
Los argumentos de la línea de comandos ayudan a que los scripts de shell sean interactivos para los usuarios. Ayudan a un script a identificar los datos que necesita para operar. Por lo tanto, los argumentos de la línea de comandos son una parte esencial de cualquier uso práctico de scripts de shell.
El shell bash tiene variables especiales reservadas para apuntar a los argumentos que pasamos a través de un script de shell. Bash guarda estas variables numéricamente ($1, $2, $3, … $n)
Aquí, el primer argumento de la línea de comandos en nuestro script de shell es $1, el segundo $2 y el tercero es $3. Esto continúa hasta el noveno argumento. La variable $0 almacena el nombre del script o el comando mismo.
También tenemos algunos caracteres especiales que son parámetros posicionales, pero su función está estrechamente ligada a nuestros argumentos de línea de comandos.
El carácter especial $# almacena el número total de argumentos. También tenemos $@ y $* como caracteres comodín que se utilizan para indicar todos los argumentos. Usamos $$ para encontrar el ID de proceso del script de shell actual, mientras que $? se puede usar para imprimir el código de salida de nuestro script.
Leer argumentos de línea de comandos en scripts de shell
Ahora hemos desarrollado una comprensión de los argumentos de la línea de comandos en Linux. Ahora es el momento de utilizar este conocimiento para la aplicación práctica del comando netstat.
Para este tutorial, repasaremos un ejemplo para aprender a usar los argumentos de la línea de comandos en su script de shell.
Primero, crearemos un script de shell para demostrar el funcionamiento de todas las variables reservadas que discutimos en la sección anterior. Usar nano o cualquier editor preferido de su elección y copie lo siguiente.
Este es el script de shell que planeamos usar para este propósito.
#!/bin/sh echo "Script Name: $0" echo "First Parameter of the script is $1" echo "The second Parameter is $2" echo "The complete list of arguments is $@" echo "Total Number of Parameters: $#" echo "The process ID is $$" echo "Exit code for the script: $?"
Una vez que hayamos terminado, guardaremos el script como PositionalParameters.sh y saldremos de nuestro editor de texto.
Ahora, abriremos la línea de comando en nuestro sistema y ejecutaremos el script de shell con los siguientes argumentos.
./PositionalParameters.sh learning command line arguments
El script se ejecutará con nuestros argumentos especificados y usará parámetros posicionales para generar una salida. Si siguió el paso correctamente, debería ver la siguiente pantalla.
Nuestro resultado muestra el resultado correcto al sustituir las variables reservadas con el argumento apropiado cuando lo llamamos.
El proceso se ejecutó con el ID de proceso 14974 y se cerró con el código de salida 0.
Conclusión
Ser capaz de leer argumentos de línea de comandos en scripts de shell es una habilidad esencial, ya que le permite crear scripts que pueden recibir información del usuario y generar resultados basados en una ruta lógica.
Con la ayuda de los argumentos de la línea de comandos, sus secuencias de comandos pueden simplificar enormemente la tarea repetitiva con la que puede tener que lidiar a diario, crear sus propios comandos y ahorrar tiempo y esfuerzo.
Esperamos que este artículo haya podido ayudarlo a comprender cómo leer los argumentos de la línea de comando en un script de shell. Si tiene algún comentario, consulta o sugerencia, no dude en comunicarse con nosotros en los comentarios a continuación.