GNU/Linux >> Tutoriales Linux >  >> Linux

Comando de fuente Bash

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

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

Sintaxis del comando fuente #

La sintaxis para el source El comando es el siguiente:

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

Ejemplos de comandos fuente #

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

Funciones de abastecimiento #

Si tiene secuencias de comandos de shell que usan las mismas funciones, puede extraerlas en un archivo separado y luego obtener ese archivo en sus secuencias de comandos.

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

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

Ahora, en cada secuencia de comandos que solo debe ejecutar el usuario raíz, simplemente obtenga functions.sh archivo y llame a la función:

#!/usr/bin/env bash

source functions.sh
check_root

echo "I am root"

Si ejecuta la secuencia de comandos anterior como usuario no root, imprimirá "Esta secuencia de comandos debe ejecutarse como root" y saldrá.

La ventaja de este enfoque es que sus secuencias de comandos serán más pequeñas y más legibles, puede reutilizar el mismo archivo de función cuando sea necesario y, en caso de que necesite modificar una función, solo editará un archivo.

Número de archivo de configuración de Bash

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

Vamos a crear un archivo de configuración de prueba:

config.sh
VAR1="foo"
VAR2="bar"

En su script bash, use el source comando 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, ha aprendido a usar la source comando incorporado en sus scripts de shell.

Si tiene alguna pregunta o comentario, no dude en dejar un comentario.


Linux
  1. Explicación del comando Bash trap

  2. Comando de espera bash

  3. Uso del comando Linux Basename en Bash Scripts

  4. comando de exportación bash

  5. conda source deactivate :bash:deactivate:No existe tal archivo o directorio

Comando Gzip en Linux

Comando Gunzip en Linux

Comando Stat en Linux

Comando de historial en Linux (Bash History)

Comando Bash printf

Script Bash (III)