Bash scripting
La idea de los scripts es colocar en archivos de texto (scripts) , suceciones de comandos o instrucciones que normalmente se colocarían a través de la línea de comandos. Estos scripts no sólo permiten colocar series de comandos, también proporcionan la posiblidad de hacer que estas órdenes se ejecuten de acuerdo a condiciones dentro o fuera del sistema tal como un lenguaje de programación.
Utilidad de los scripts
Imaginémos que necesitamos inciar la interfaz gráfica en el sistema operativo. Una forma de hacerlo sería; escribiendo órdenes una a una según el computador para llamar a los programas adecuados y de la forma adecuada para realizar esta tarea.
Este es por así decirlo un trabajo tedioso si introduciríamos las órdenes una a una y más aún hacerlo cada vez que necesitemos la interfaz gráfica...
Afortunadamente, existe la posibilidad de realizar este tipo de tareas repetitivas y/o tediosas a través de scripts que una vez escritos y probados reducirán el trabajo de por ejemplo iniciar la interfaz gráfica a ejecutar el script que realiza la tarea.
Es más, es posible hacer que otro script llame o ejecute otro script para automatizar aún mas las tareas.
Para la tarea de iniciar la interfaz gráfica, por ejemplo el script que se ejecuta para ello es /etc/init.d/gdm
si el computador usa gdm
como gestor de inicio de sesion.
Bash scripting
Como en este curso hemos usado la shell bash, los scripts a continuación son bash scripts por que se ejecutan usando el programa bash.
Primer script
La línea de comandos:
echo "Hola mundo"
Muestra en la pantalla:
"Hola mundo"
Imaginen que queremos mostrar este mismo mensaje cada 2 segundos 2 veces, la siguiente línea lo hará:
sleep 2; echo "Hola mundo" ; sleep 2 ; echo "Hola Mundo"
Ahora si quisiéramos seguir introduciendo más líneas deberíamos seguir con los ; después de cada oden. Esto no es factible para muchas líneas y además no nos da un mayor control como por ejemplo usar variables.
El siguiente script hace que el script termine en el numero de segundos que se introduzca: Lo primero que hay que hacer es abrir un nuevo archivo de texto y escribir:
#!/bin/bash
echo "Introduzca el tiempo (numero):"
read TEMP
echo "pausa de $TEMP segundos"
sleep $TEMP
echo "FIN"
exit 0
Hay que notar la primera linea
#!/bin/bash
Esta línea es muy necesaria ya que le dice al intérprete de comandos que use el programa ubicado en: /bin/bash
que es el intérprete bash
Para ejecutar el script:
- Guardar ese archivo con el nombre
sp1.sh
(por ejemplo). - Darle permisos de ejecución al script:
chmod +x sp1.sh
- Ejecutar el script desde la consola bash:
./sp1.sh