HOWTO · Bash
Obtener el nombre de archivo del script Bash
Este tutorial discutirá cómo obtener un nombre de archivo en Bash.
En esta página
Este artículo muestra cómo podemos obtener su propio nombre de archivo mediante el script. Además, veremos ejemplos y explicaciones necesarias para facilitar el tema.
Hay muchas maneras disponibles para hacer esta tarea. Pero vamos a ver tres métodos fáciles para hacer esto.
Echemos un vistazo a ellos.
Use el comando basename para obtener el nombre de archivo del script Bash
Podemos obtener el nombre de archivo del script usando el comando basename, un comando incorporado en Bash. Para hacer esto, debe seguir el siguiente código.
$ cat directory/ScriptName.sh
#!/bin/bash
echo "Your script name =" $(basename "$0")
Puede notar que usamos el $0 con el comando basename para encontrar el nombre de archivo del script. Este $0 es una variable integrada en Bash que representa el nombre de archivo de la ruta relativa.
Después de ejecutar el comando, veremos el siguiente resultado.
$ directory/ScriptName.sh
Your script name = ScriptName.sh
Use la expansión de parámetros para obtener el nombre de archivo del script Bash
También podemos hacer la misma tarea usando la expansión de parámetros. Necesitamos seguir el código a continuación para hacer la misma tarea con este método.
$ cat directory/ScriptName.sh
#!/bin/bash
echo "Your script name = ${0##*/}"
Puede notar que usamos una combinación de símbolos, ${0##*/}, que se usa para mostrar la expansión del parámetro. Después de ejecutar el comando, veremos el siguiente resultado.
$ directory/ScriptName.sh
Your script name = ScriptName.sh
Use la variable BASH_SOURCE para obtener el nombre de archivo del script Bash
BASH_SOURCE es una variable de entorno integrada en Bash que contiene el nombre del archivo. Para encontrar el nombre de archivo del script usando esta variable, debe seguir el código a continuación.
$ cat directory/ScriptName.sh
#!/bin/bash
echo "Your script name =" $(basename "${BASH_SOURCE}")
Después de ejecutar el comando, veremos el siguiente resultado.
$ directory/ScriptName.sh
Your script name = ScriptName.sh
Tenga en cuenta que todo el código utilizado en este artículo está escrito en Bash. Solo funcionará en el entorno Linux Shell.