GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué es el comando fuente en Linux y cómo funciona?

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.


Linux
  1. ¿Qué es NGINX? ¿Como funciona?

  2. ¿Qué es un servidor web y cómo funciona un servidor web?

  3. ¿Qué es el DNS y cómo funciona?

  4. Cómo instalar TBB desde la fuente en Linux y hacer que funcione

  5. ¿Cómo funciona un depurador en Linux?

Comando de archivo de Linux:qué hace y cómo usarlo

Comando de cola de Linux:qué es y cómo usarlo

Cómo instalar y usar el comando fd en Linux

¿Qué es el comando Grep en Linux? ¿Por qué se usa y cómo funciona?

¿Qué es BusyBox en Linux? ¿Cómo usarlo?

¿Cómo funciona el intercambio de memoria en Linux?