User Tools

Site Tools


formas_de_ejecutar_scripts_bash_._._source

Diferencia entre las distintas maneras de ejecutar scripts en UNIX ("bash" / "sh", "./", "source", ".")

  • ./” El script debe ser ejecutable y será ejecutado en un interprete de comandos nuevo.
  • bash XX.sh” No es necesario que el fichero sea ejecutable y el script se ejecutará en una shell nueva.
  • source” No necesita que el script sea ejecutable y se ejecuta sobre la misma shell. Por lo tanto los cambios de ruta, variables, etc tienen impacto sobre la shell en la que se ejecuta el script.
  • .” Sinónimo de source (No confundirlo con “./”).

Script de ejemplo / prueba de concepto.

#!/bin/bash
export variable=hola
echo "PID: $$"
echo "Valor de la variable: $variable"
pwd
cd $HOME/.config # Cámbiese por el directorio que se quiera.
pwd
~ $ bash ejemplo1.sh && echo "---> $variable"
PID: 5329
Valor de la variable: hola
/home/marta
/home/marta/.config
---> 

~ $ ./ejemplo1.sh && echo "---> $variable"
PID: 5334
Valor de la variable: hola
/home/marta
/home/marta/.config
---> 

########################################

~ $ source ejemplo1.sh && echo "---> $variable"
PID: 3370
Valor de la variable: hola
/home/marta
/home/marta/.config
---> hola

~/.config $ cd ..


~ $ source ./ejemplo1.sh && echo "---> $variable"
PID: 3370
Valor de la variable: hola
/home/marta
/home/marta/.config
---> hola

~/.config $
formas_de_ejecutar_scripts_bash_._._source.txt · Last modified: 2020/12/25 22:57 by 127.0.0.1