Dash y Shebang

<frikimode>

Desde luego, qué poco sabe uno de nada. Estudiando para la LPI-1, se me ocurrió mirar en Ubuntu si la shell sh era realmente un fichero o bien un enlace simbólico. Mi ego a duras penas me dejó escribir en la consola:

$ ls `which sh` -al
lrwxrwxrwx 1 root root 4 2009-03-30 22:58 /bin/sh -> dash

que es la forma super friki de decir: Hola, Linux, ¿me listas, por favor, con detalle (las opciones -al del ls), el fichero sh donde quiera que se encuentre en el disco duro (eso lo hace el which)?

Yo pensaba que el resultado sería bash, por la Bourne Again Shell, pero resulta que no, que tras leer en la Wikipedia me entero que en Ubuntu lo que viene por defecto como substituto de la sh es la Debian Alquimist Shell.

Bueno, la cosa no sería para tanto si no hubiera leído una referencia al Shebang. ¡Dios, qué es ésto! ¡Houston, tenemos un problema! El problema es que hay que leer más… El famoso Shebang no es más que la típica primera línea que se pone en los scripts de shell para asegurarnos de que se ejecutan con tal o cual shell. Un ejemplo de este uso lo tenéis en este viejo script.

</frikimode>