Obtener el nombre de archivo del script Bash

MD Aminul Islam 30 enero 2023
  1. Use el comando basename para obtener el nombre de archivo del script Bash
  2. Use la expansión de parámetros para obtener el nombre de archivo del script Bash
  3. Use la variable BASH_SOURCE para obtener el nombre de archivo del script Bash
Obtener el nombre de archivo del script Bash

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.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn