Índice

Scripts shell

Un script Bash es un archivo de texto que contiene una serie de comandos como los ejecutados en la línea de comandos.

Toda línea de comandos válida puede ser objeto de un script de shell para un tratamiento por lotes (batch). Y viceversa, todo el código escrito en un script Bash puede escribirse directamente en la línea de comandos.

En este ejemplo, el archivo de script se llama prog.sh:

[javier]$ cat prog.sh 
date 
whoami 
var=12 
echo $var

1. Llamada y ejecución

Las modificaciones del entorno del shell que llama dependen de la forma como se llama al script shell.

bash prog.sh

La primera forma de llamar a un script shell consiste en lanzar un nuevo bash con el nombre del script como argumento. Este nuevo shell trata las instrucciones contenidas en el archivo como si se hubieran escrito en el teclado.

De ello resulta la creación de un subproceso bash que termina automáticamente al finalizar la ejecución del script.

[javier]$ cat prog.sh  
date  
whoami  
var=12  
echo $var  
[javier]$ echo $var  
  
[javier]$ bash prog.sh  
mie sep 5 15:46:25 CEST 2018 
javier  
12  
[javier]$ echo $var

Toda modificación del entorno -como el cambio de directorio o la definición de variable- sólo interviene en el subshell creado temporalmente. No se modifica el shell inicial.

Se puede representar este tipo de script así:

images/1001scr1.png

El primer shell iniciado en un terminal (llamado ...