Cómo usar el comando Bash Source en Linux

27 feb 2021 2 min di lettura
Cómo usar el comando Bash Source en Linux
Indice dei contenuti

Introducción

El source lee y ejecuta comandos del archivo especificado como argumento en el entorno de shell actual. Es útil cargar funciones, variables y archivos de configuración en scripts de shell.

source es un shell integrado en Bash y otros shells populares utilizados en los sistemas operativos Linux y UNIX. Su comportamiento puede diferir ligeramente de un caparazón a otro.

Sintaxis del comando de origen

La sintaxis del source es la siguiente:

source FILENAME [ARGUMENTS]. FILENAME [ARGUMENTS]
  • source y . (un punto) son el mismo comando.
  • Si FILENAME no es una ruta completa a un archivo, el comando buscará el archivo en los directorios especificados en la $PATH entorno $ PATH. Si el archivo no se encuentra en el $PATH, buscará el archivo en el directorio actual.
  • Si ARGUMENTS, se convertirán en parámetros posicionales para el FILENAME.
  • Si FILENAME existe, el comando de source 0 ; de lo contrario, si no se encuentra el archivo, devolverá 1.

Ejemplo de comando fuente

En esta sección, veremos algunos ejemplos básicos de cómo usar el comando source

Si tiene scripts de shell que usan las mismas funciones, puede extraerlos en un archivo separado y luego generar ese archivo en sus scripts.

En este ejemplo, crearemos un archivo que incluye una función bash que verifica si el usuario que ejecuta el script es root y, de lo contrario, muestra un mensaje y sale del script.

sudo nano functions.sh

Pega el siguiente código:

check_root () {
 if [[ $EUID -ne 0 ]]; then
 echo "This script must be run as root"
 exit 1
 fi
 }

Ahora, en cada uno de sus scripts que solo debe ejecutar el usuario root, proceda con el comando de origen del functions.sh y llame a la función:

#!/usr/bin/env bash

 source functions.sh
 check_root

 echo "I am root"

Si ejecuta el script anterior como usuario no root, el script imprime " Este script debe ejecutarse como root " y sale.

La ventaja de este enfoque es que sus scripts serán más pequeños y más legibles, puede reutilizar el mismo archivo de función tantas veces como sea necesario y, en caso de que necesite modificar una función, solo modificará un archivo.

Archivo de configuración de Bash

Con el source, también puede leer variables de un archivo. Las variables deben configurarse utilizando la sintaxis Bash, VARIABLE=VALUE.

Creemos un archivo de configuración de prueba:

sudo nano config.sh

Pega el siguiente código:

VAR1="foo"
 VAR2="bar"

En su script de bash, use el source para leer el archivo de configuración:

#!/usr/bin/env bash

 source config.sh

 echo "VAR1 is $VAR1"
 echo "VAR2 is $VAR2"

Si ejecuta el script, la salida se verá así:

VAR1 is foo
 VAR2 is bar

Conclusión

En esta guía, aprendió a usar el source integrado en los scripts de shell.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.