¿Qué es $ 0 en un script bash?
Bash es un intérprete de comandos y script. Al igual que otras formas de codificación, admite el reenvío de paquetes, variables y funciones. Un script es un archivo de comandos que el software puede mostrar y ejecutar. En Linux, bash nos da parámetros posicionales como «$0», «$1», «$2», «$3», etc. Uno de sus parámetros posicionales, «$0», se usa en este artículo.
Contenidos
Ejemplo #1: Usar $0 en un script bash
El nombre del script de terminal o shell se adjunta con «$0». Esto se establece durante la inicialización del shell. Se asigna $0 al nombre de este directorio cuando se invoca a Bash con una colección de comandos. En pocas palabras, usamos «$0» en bash para almacenar el nombre del script y mostrarlo en la terminal. Los parámetros para el comando bash en Linux son «$0», «$1» y «$2», etc. El primero almacena el nombre del script, el segundo almacena el primer valor y así sucesivamente. En esta sección, ahora usaremos el comando «echo» para mostrar el nombre del shell bash. Para hacer esto, debemos ejecutar el comando en la terminal, pero primero debemos crear un archivo bash. Dado que uno ya existe y está en el escritorio, lo usaremos en este artículo. Su nombre es «código.sh».
Para imprimir el nombre del script en la terminal cuando abrimos este archivo, primero debemos agregar el shell, que es «#!/bin/bash». En la siguiente línea, tenemos que pasar el parámetro «$0» dentro del comando echo, ya que el nombre del archivo se almacena en este parámetro. Ahora ejecutamos el comando ingresando primero el término «bash» y luego el nombre del script «code.sh». Linux@linux:~/Desktop$ bash code.sh Como se muestra en la siguiente captura de pantalla, al ejecutar este comando se mostrará el nombre del script «code.sh».
Lo siguiente ahora usa la opción $0 en bash para mostrar el nombre actual del script junto con la declaración. Para lograr esto, creamos un script donde, después de agregar el shell como se describe arriba, usamos el comando «echo» para imprimir la declaración «El nombre del archivo es:». La instrucción que queremos imprimir debe ingresarse con una comilla simple antes de pasar la variable «$0» que almacena el nombre del script. #!/bin/bashecho «El nombre del archivo es:» $0 El comando que usaremos ahora es «bash» seguido del nombre del script «code.sh». Cuando ejecutamos este comando, se mostrarán tanto la cadena de entrada como el nombre del script almacenado en «$0». Linux@linux:~/Desktop$ bash code.sh Ahora puede ver en la imagen a continuación que el nombre de archivo para el script «code.sh» se muestra junto con la declaración de eco «El nombre del archivo es». .
Ejemplo #2: Mostrar el nombre del script al final usando «$0» de bash.
En esta sección ahora usaremos «$0» en la sección final del script, que indicará el nombre del archivo bash al final. Para esto creamos un script en el que primero usamos el shell bash «#!bin/bash» y luego inicializamos las variables «x», «y» y «z» y asignamos valores a cada «6» para » x», «4» para «y» y «9» para «z». Luego usamos el comando echo a continuación para imprimir estos valores. Para hacer esto, pasamos el parámetro «$» junto con las variables que contienen los números, por lo que usamos «$x», «$y» y «$z». Esto mostrará los valores en la terminal cuando se abra el archivo bash con el comando en la terminal. Luego, en la siguiente línea, usamos el comando «echo» nuevamente para imprimir la declaración y el nombre del script con el argumento «$0». Dado que el nombre de la secuencia de comandos se almacena en el archivo, debemos emitir «El nombre del archivo es:» como declaración, y lo hacemos pasando «$0» como argumento. #!/bin/bashX=6Y=4Z=9echo «$x» «$y» «Sz»echo «El nombre del archivo es:» $0 Ahora use el comando para abrir la salida del script en la terminal. Linux@linux:~/Desktop$ bash code.sh Ahora que se ejecutó este comando, puede ver en la imagen a continuación que primero mostró los valores «6», «4» y «9» antes de la declaración » El nombre del archivo es» y el nombre del archivo es «code.sh» en la siguiente línea.
Ejemplo 3: Usar $0 en la función bash
En esta sección usamos la función bash para restar dos números e imprimir el nombre del archivo bash relevante insertando un «$0» en el cuerpo de la función. Para ello, desarrollamos un script en el que creamos una función llamada «func()». Dado que este es un procedimiento definido por el usuario, podemos elegir el nombre libremente. Luego, en la siguiente línea, usamos llaves para formar el cuerpo de la función. Dentro de estos corchetes usamos la variable «sub» en la que almacenamos la resta de dos números usando el parámetro «$». A continuación usamos paréntesis dobles. Dentro de estos paréntesis realizamos la resta de dos números. Por lo tanto, usamos «$1-$2». El número que proporcionamos al llamar a la función func se almacena en sus valores de parámetro $1 y $2. Luego, usamos el comando echo para imprimir la declaración y la respuesta usando la variable «sub» con el argumento «$». Esto se debe a que el resultado de la resta se almacena en él. A continuación, usamos el comando echo para imprimir la declaración y el nombre del script usando «$0», la declaración es «El nombre del script es» y pasamos el argumento «$0. Luego, en la siguiente línea, llamamos a la función con su nombre «func» y proporcionamos dos números como argumentos, «50» y «30», que se almacenan en «$1» y «$2» antes de ejecutar la operación de resta. #!/bin/bashfunc(){Sub=$ ( ( $1 -$2 ) )echo «La respuesta es: $sub» echo «El nombre del script es:» $0}func 50 30 Para mostrar el resultado en la terminal usamos ahora el mismo comando que en la sección anterior. Linux@linux:~/Desktop$ bash code.sh Ahora mostraba el resultado de restar los números dados que es «20» con la afirmación «La respuesta es» y en la siguiente línea mostraba la afirmación «El nombre de los Scripts es «code.sh» junto con el nombre del script bash, que se indica pasando el parámetro $0 a bash.
Conclusión
Este artículo discutió el uso de «$0» en scripts bash de Linux. Dado que el nombre del archivo se almacena en este «$0», lo usamos en diferentes casos y mostramos el nombre del script bash en la terminal. La primera sección simplemente imprime el nombre del script con el comando echo y el «$0». En la segunda sección usamos «$0» para indicar el nombre del script al final y en el último ejemplo usamos la función bash() para realizar una operación de resta mientras usamos «$0» en el cuerpo de la función.