Comando de origen en Linux

El comando de fuente es un comando de shell incorporado que se utiliza para leer y ejecutar comandos desde un archivo dentro de la sesión de shell actual. El comando de origen se usa comúnmente para retener / cambiar la variable de entorno en el shell actual. En resumen, la obtención de un script ejecutará comandos de ejecución en el caparazón actual.

El comando de origen es útil para:

  • Actualizar su entorno de shell actual
  • Para ejecutar un script de shell en el contexto del entorno actual
  • Para importar una función de shell en su secuencia de comandos
  • Leer variables de un script de shell

Sintaxis del comando fuente

La sintaxis de este comando de shell incorporado es legible por humanos. Se necesita un archivo y, si se proporcionan argumentos, sirven como parámetros posicionales para el script que se pasa.

fuente FILENAME [ARGUMENTS]

El . (punto) también se puede utilizar como una alternativa para el comando fuente.

. NOMBRE DEL ARCHIVO [ARGUMENTS]

Cómo usar el comando de fuente

Aquí explico algunos ejemplos prácticos donde se puede aplicar el comando fuente.

1. Actualiza tu entorno de shell actual

Como usuario, puede definir un alias en su entorno de shell actual. Para definir uno para ls -l escribe:

alias ll = “ls -l”

Para usarlo, escriba:

ll

Aunque la lista anterior enumera los archivos en el directorio actual en formato largo, solo funciona para la sesión de shell actual. Para realizar los cambios de forma permanente, abra el archivo ~ / .bashrc y agregue:

alias ll = “ls -l”

Para actualizar el shell actual tipo de entorno:

fuente ~ / .bashrc

2. Ejecute un script de shell en el contexto del entorno de shell actual.

Un script de shell no conoce las variables que define como usuario en su entorno de shell actual. El comando de origen se puede utilizar para ejecutar su script de shell en el contexto de la sesión actual.

Para definir un tipo de variable temporal:

SITIO WEB = example.con

Para crear un tipo de secuencia de comandos personalizado:

#!/compartimiento/bash
echo $ SITIO WEB

Save el archivo. Para ejecutarlo en el contexto del tipo de sesión de shell actual:

fuente ./myscript.sh

La salida se muestra a continuación.

example.con

3. Importar una función de shell

Para definir un tipo de script de shell personalizado:

!#/compartimiento/bash
foo () {echo “prueba”}

Save lo anterior como script.sh.

Para importar la función del script anterior en su sesión de shell actual, escriba:

fuente script.sh

Usar el foo tipo de función:

foo

La salida se muestra a continuación.

prueba

4. Leer variables de un script de shell

Para crear un script de shell con algunas variables, escriba:

#!/compartimiento/bash
a = 1 b = 2 c = 3

Para leer las variables dentro de otro tipo de script de shell:

#!/compartimiento/bash
fuente abovescript.sh echo $ a, $ b, $ c

La salida debe ser:

1, 2, 3

5. Leer y ejecutar comandos

El comando de origen puede leer y ejecutar comandos desde un archivo. Tengamos un archivo de texto con un conjunto de comandos.

Para example El archivo command.txt tiene el siguiente contenido:

pwd
fecha

La salida de la fuente :

$ source firstexample.txt / home / developer Viernes 25 de febrero 11: 10: 11: 09 GMT 2021

6. Pasar argumentos a funciones

Esta sección describe cómo pasar el parámetro a la función y la misma función que podemos reutilizar mediante el comando fuente.

functions.sh! / usr / bin /bash
var1 = $ 1 var2 = $ 2 ejecutar.sh! / usr / bin /bash
source functions.sh 10 AA echo “var1 = $ var1” echo “var2 = $ var2” Output.sh var1 = 10 var2 = AA

Conclusión

El comando de origen evaluó el script en el shell actual, mientras que el comando exec se ejecuta en un nuevo shell.

A través de este artículo, aprendió cuatro ejemplos prácticos del comando fuente. Aunque todos son útiles, el más importante para ti como usuario es el primero.