El comando fuente ejecuta comandos desde un archivo en el shell actual. También se puede usar para actualizar las variables de entorno y, para ser honesto, el uso principal del comando fuente es actualizar las variables de entorno.
source filename [options]
También puedes usar . (punto) en lugar de un comando fuente como este:
. filename [options]
¿Cómo funciona el comando source?
La sintaxis de este comando es simple, pero comprenderlo requiere una mirada un poco más profunda a algunos conceptos de Linux. Si es nuevo en Linux o en la programación, es posible que solo tenga una vaga idea de qué es una variable.
Si ha escuchado este término, pero no sabe exactamente lo que significa, ¡está bien! Recuerde, todos comenzamos exactamente desde el mismo lugar. Nadie se despierta repentinamente por la mañana siendo administrador de sistemas o programador.
Daré una breve explicación antes de continuar.
Puede pasar al siguiente encabezado si ya está familiarizado con la creación de variables en bash.
Resumen de Variables
Puede abrir cualquier terminal bash y crear nuevas variables. Se puede pensar en una variable como un marcador de posición que se puede usar para apuntar su sistema a una pieza de información (letras, números o símbolos).
Veamos un ejemplo. Voy a crear una nueva variable llamada nombre y le voy a asignar el valor Christopher.
En bash, esto se hace usando la fórmula:variable_name=your_variable . No agregue espacios entre = símbolo y su texto.
[email protected]:~$ name=Christopher
[email protected]:~$ echo $name
Christopher
¿Qué sucede si solo escribo el nombre de la variable?
[email protected]:~$ echo name
name
Si olvida este símbolo, bash devolverá el texto que ingresó. Aquí, le digo que haga eco, o imprima, "nombre". Sin el símbolo $, bash no reconoce que desea utilizar la variable que ha creado.
Su variable se insertará donde se llama. Entonces también puedo incluirlo en una oración como esta:
[email protected]:~$ echo "Hello, $name. $name is a great name. It's good to meet you."
Hello, Christopher. Christopher is a great name. It's good to meet you.
Hay muchas cosas que puede hacer con las variables, pero espero que la cartilla sea suficiente para permitir que cualquier persona que lea esto entienda cómo funcionan.
Variables de entorno frente a variables de shell
Para la siguiente clave para comprender el comando fuente, hablemos de la persistencia. Esta es una manera fácil de pensar en la diferencia entre el caparazón y el contenido ambiental. También puede pensar en ello en términos de "portabilidad" según el contexto.
En pocas palabras, si crea una variable en un shell de terminal, se perderá una vez que salga de ese shell.
Por el contrario, una variable ambiental tiene persistencia en su sistema operativo. Estas variables normalmente usan mayúsculas para distinguirse.
Un ejemplo de esto es su nombre de usuario, que el sistema operativo conoce como $USUARIO.
[email protected]:~$ echo $USER
christopher
De acuerdo, pasó bastante tiempo repasando las diferencias entre las variables de entorno y de shell. ¿Qué tiene eso que ver con fuente? ? Todo, de verdad.
De lo contrario, no habría diferencia en ejecutar fuente y golpe . Para ilustrar este punto, tengo una demostración más preparada.
Fuente vs Bash
Si ha estado en Linux por un tiempo, es posible que haya encontrado estos comandos y pensó que hacían lo mismo. Después de todo, ambos comandos se pueden usar para ejecutar un script.
Source funciona en el shell actual, a diferencia de ejecutar bash que crea un nuevo shell. Esto no es obvio ya que no se muestran ventanas nuevas.
Si está siguiendo, este requerirá que escriba un script muy simple (llamémoslo echo.sh) que se ve así:
#! bin/bash
echo $USER
echo $name
Antes de hacer cualquier otra cosa en su terminal, asigne su nombre al nombre de la variable.
[email protected]:~$ name=chris
A continuación, le mostraré lo que sucede cuando prueba los 3 comandos en el mismo terminal en el que asignó su variable.
[email protected]:~$ bash echo.sh
christopher
[email protected]:~$ source echo.sh
christopher
chris
[email protected]:~$ . echo.sh
christopher
chris
Como puede ver, su variable local no fue reconocida cuando ejecutó su script a través de bash .
Actualizar variables de entorno con el comando source
La fuente también se puede usar para actualizar las variables ambientales en el shell actual. Una aplicación común para esta tarea es actualizar su perfil bash en el shell actual.
Un usuario puede querer modificar su perfil bash para, por ejemplo, crear un alias. Normalmente, una vez que guarde la configuración, deberá abrir una nueva ventana de terminal para que se realicen los cambios.
[email protected]:~$ source .bashrc
Ejecutar esto actualizará la configuración en su shell actual sin obligarlo a abrir una nueva terminal.
Conclusión
Esperamos que haya disfrutado de este tutorial sobre el comando fuente. Como siempre, háganos saber sus pensamientos en la sección de comentarios. Si disfrutó de esta publicación, compártala en las redes sociales usando los botones a continuación.