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