El shell bash, al igual que otros, proporciona un lenguaje de programación. Los programas que se realizan utilizando el lenguaje del shell se denominan shell scripts, o simplemente scripts (aunque a veces se puede encontrar la traducción literal "guiones").
Un script es un fichero de texto en el que se introducen órdenes que son interpretadas por el shell y por el sistema operativo. Se suelen usar para automatizar procesos de administración de sistemas, tales como realización de copias de seguridad, mantenimiento de servidores, migraciones, etc.
El fichero del script puede crearse con cualquier editor de textos, escribiendo una orden en cada línea. Una vez creado, podemos ejecutarlo de cualquiera de las dos formas siguientes:
$ bash script [parámetro...]
$ script [parámetro...]
En el primer caso, no es necesario activar previamente el permiso de ejecución del fichero. En el segundo caso, sí lo tenemos que activar. Además la mayoría de sistemas Linux no incorporan el directorio punto (.) en el PATH, por lo que es necesario indicar la dirección absoluta (o relativa comenzando por punto) del fichero para ejecutar el script. Por otro lado, hay que tener en cuenta que para poder ejecutar un script, además del permiso de ejecución, se necesita el permiso de lectura. Los permisos SUID y SGID no tienen efecto sobre los ellos.
La forma en que se ejecuta un script es similar a cualquier otro programa: el shell ejecutará la primera orden; cuando termine pasará a ejecutar la segunda y así sucesivamente. Esta sucesión se rompe con las órdenes de control de fujo (if, while, etc) que veremos más adelante.
Es bastante usual que el script dé errores al ejecutarlo; para averiguar dónde están es conveniente depurarlo, y para ello lo ejecutaremos de la siguiente forma:
$ bash -xv script [parámetro . . . ]
Cuando se llama al shell bash con la opción -x, se van mostrando las órdenes que se ejecutan junto a sus argumentos. La opción -v muestra las líneas de órdenes leídas por el shell bash. De esta forma, podemos ver lo que va interpretando el shell, así como los resultados tras ejecutar cada una de las órdenes del script.
La primera línea de un script debería indicar el shell con el que se va a ejecutar; como en nuestro caso, el shell es el bash, la primera línea de nuestros script debería ser la siguiente:
#!/bin/bash
Comentarios
En un script los comentarios se ponen con el signo #, y todo lo que va desde dicho signo hasta el final de la línea es un comentario. Normalmente, el signo # se coloca al inicio de una línea, y por tanto, toda la línea es un comentario, pero también se puede poner el comentario al final de cualquier instrucción.
No hay comentarios:
Publicar un comentario