Cómo leer y ejecutar desde un archivo con el comando fuente de Linux

source es un práctico comando de shell incorporado que acepta argumentos, analiza comandos en un script y los ejecuta en el entorno de shell. El contenido del archivo se lee por fuente y luego se pasa al intérprete de Tool Command Language (TCL), que ejecuta los comandos.

Aprendamos cómo usar la fuente para ejecutar comandos y trabajar con entornos de shell en Linux, junto con una breve explicación de cómo se diferencia de la bash dominio.

Usar fuente para ejecutar comandos en un archivo

Para usar el comando fuente, primero deberá crear un archivo de muestra y completarlo con algunos comandos de shell. Comience creando un nuevo archivo con el comando táctil. Abra el archivo en un editor de texto de su elección y escriba algunos comandos básicos de shell.

                      
                        
                          touch
                        
                        
                          test
                        
                        
                          .txt
                        
                        
vi test .txt

# Write the commands in the text file:
echo " Hello! "
pwd
ls

# Source the file with either source or the dot syntax
. test .txt
source text .txt

Escriba el archivo de texto y proceda a pasarlo como argumento al comando fuente. El sistema ejecutará los comandos en el archivo y devolverá una salida.

Ahora que conoce los conceptos básicos de cómo usar la fuente, intentemos cambiar el entorno de shell de Bash. Sin embargo, antes de continuar, debe tener una comprensión fundamental de las variables de entorno en Linux.

Use el comando fuente para actualizar el entorno de Bash Shell

En Linux, las variables de entorno se heredan pero son inmutables. Si ejecuta un script de shell de Bash que modifica una variable de entorno $TEST, el script generará un nuevo proceso de shell bifurcado y la modificación de $TEST tendrá lugar dentro de este en lugar del entorno de Bash original.

El proceso hijo no podrá modificar el entorno del proceso padre. Sólo puede modificar su propio entorno. Entendamos esto con una práctica. example:

                      
                        export TEST=
                        
                          "
                        
                        deb
                        
                          "
                        
                        
vi example

# Type these commands in the file
export TEST= " bed "
echo $TEST

# Write out the file, make it executable, and then execute it
chmod +x example
./example # this will return "bed"
echo $TEST # this will return "deb"

Aquí es donde entra en juego el comando fuente. Con el comando fuente, puede ejecutar un script en el mismo entorno de shell, que de otro modo se habría bifurcado. Por lo tanto, si obtiene una secuencia de comandos que modifica las variables de entorno, realizará los cambios para el entorno de shell de Bash.

Para probarlo, escriba los comandos en el cuadro de código de arriba en un archivo nuevo y use el comando fuente en lugar de hacerlo ejecutable.

                      
                        
                          # Create a new file and edit it
                        
                        
vi test file
. test_file
echo $TEST # This will return "bed"

Como puede ver, usando el comando fuente, pudo actualizar las variables de entorno del proceso principal. Este es el caso de uso principal del comando fuente, es decir, para modificar el entorno principal.

Esos son todos los pasos que necesita para actualizar el entorno de shell de Bash con el comando fuente.

Diferencia entre Linux bash y comandos fuente

La diferencia entre Linux bash y los comandos de origen es que cuando ejecuta un script con el bash comando, le dice al kernel de Linux que cree un nuevo proceso Bash para leer y ejecutar el script, copiar el resultado al proceso de shell original y mostrarlo.

Pero el comando fuente es un shell incorporado que lee y evalúa un archivo dentro del proceso de shell actual. Por lo tanto, todos los cambios realizados por el script se conservarán en el shell de Bash.

Solución de problemas de los errores de comando de origen

En algunos sistemas Linux, es posible que se encuentre con un error de “fuente no encontrada” al intentar usar el comando fuente. Puede corregir este error de dos maneras:

1. Cambia la carcasa

Algunos shells no admiten el comando fuente. En ese caso, deberá cambiar su entorno de shell con el chsh -s ($cual shell_name) dominio.

Inicie una nueva terminal después de cambiar su shell e intente usar el comando fuente. Si el nuevo shell admite el abastecimiento, entonces debería funcionar sin problemas.

2. Usa la sintaxis de punto/punto

Algunos entornos de shell no admiten “ fuente “sintaxis pero la alternativa” . ” sintaxis. La sintaxis “fuente” es un sinónimo de punto en Bash. Pero esto no funciona en el shell POSIX, así que para una compatibilidad máxima, use la sintaxis de punto.

Comandos básicos de Linux que debe conocer

Los comandos de shell de Linux son una excelente manera de interactuar con el sistema usando la terminal. Son la esencia misma del uso de los sistemas *NIX.

Si bien no necesita conocer todos los comandos, estar familiarizado con algunos útiles seguramente resultará fructífero a medida que se adentra en el mundo de Linux.

Related Posts