Saltar la navegación

Dot script

Un dot script es un script (fichero de comandos) que se ejecuta en el ambiente del proceso padre. En otras palabras, a diferencia de los scripts normales, un dot script no se ejecuta como un proceso hijo del proceso que lo llama. El dot script hereda todo el ambiente del padre, incluyendo las variables y funciones que no han sido exportadas.

Un dot script puede contener el mismo código que un script regular. La diferencia entre un script y un dot script no está en su contenido sino en la forma de ejecutarlos. Un script regular se ejecuta como cualquier otro comando, especificando la ruta o no, según el valor de PATH, por ejemplo:

$ mi_script

Para ejecutar un dot script, debemos usar la orden interna punto, y pasarle el script como argumento, por ejemplo:

$ . mi_script

Por lo tanto, un script regular se convierte en un dot script cuando se le llama de la forma anterior. Un sinónimo la orden punto es la orden interna source.

$ source mi_script

Un ejemplo:

$ var=hola
$ echo $var
hola
$ cat mi_script
var=adiós
$ mi_script
$ echo $var
hola
$ . mi_script
$ echo $var
adiós

Una forma de comunicar varios script entre sí es utilizando ficheros para guardar la información compartida; con los dot script disponemos además de otro método y es usando variables.

Licencia: licencia de software libre GPL