Incluir archivo de script en otro script de Bash

Faaiq Bilal 20 junio 2023
Incluir archivo de script en otro script de Bash

Este artículo analiza diferentes métodos para incluir un archivo de script Bash en otro archivo de script.

Incluir archivo en un script Bash

Incluir o reutilizar un script es muy sencillo en Bash. La palabra clave fuente es similar a #include en C/C++.

Para reutilizar un script, use la palabra clave fuente con el nombre/ruta completa del archivo dependiendo de si desea importar el script desde el mismo directorio o desde otro directorio.

En general, la sintaxis se da de la siguiente manera:

source <filename>

Digamos que tenemos un script llamado sorting.sh con el siguiente contenido.

TEST_VAR="Hello"

La sintaxis sería la siguiente.

Guión de bash:

#!/bin/bash
source sorting.sh
echo ${TEST_VAR}

Alternativamente, el . operator es una abreviatura de la palabra clave fuente y funciona de manera similar.

Guión de bash:

#!/bin/bash
sorting.sh
echo ${TEST_VAR}

Ambos ejemplos anteriores devolverán el siguiente resultado.

Producción :

Hello

Tenga en cuenta que el . El operador es compatible con POSIX mientras que la palabra clave fuente no lo es. Esto significa que el . El operador funcionará en todos los entornos de shell POSIX, mientras que la fuente puede que no, pero en el contexto de Bash, es perfectamente seguro usar la palabra clave fuente.

Otro punto a tener en cuenta es que source no funciona exactamente como include en C/C++ porque ejecutará el script de origen completo en el script de destino en lugar de poder llamar y ejecutar funciones separadas individualmente.

La forma más segura de usar una secuencia de comandos en otra secuencia de comandos que funcione con todos los niveles de directorios y no cause errores debido a que los directorios son diferentes o están en diferentes niveles es usar la siguiente secuencia de comandos.

Guión de bash:

$(dirname "$0")/sorting.sh

Artículo relacionado - Bash File