Diferencia entre revisiones de «Bash scripting»
Sin resumen de edición |
Sin resumen de edición |
||
Línea 11: | Línea 11: | ||
Es más, es posible hacer que otro script llame o ejecute otro script para automatizar aún mas las tareas. | 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 <code>/etc/init.d/gdm</code> si el computador usa <code>gdm</code> como gestor de inicio de sesion | Para la tarea de iniciar la interfaz gráfica, por ejemplo el script que se ejecuta para ello es <code>/etc/init.d/gdm</code> si el computador usa <code>gdm</code> como gestor de inicio de sesion. | ||
== Bash scripting<br/> == | |||
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: | |||
<source lang="bash">echo "Hola mundo" </source> Muestra en la pantalla: | |||
<pre>"Hola mundo"</pre> | |||
Imaginen que queremos mostrar este mismo mensaje cada 2 segundos 2 veces, la siguiente línea lo hará: | |||
<source lang="bash">sleep 2; echo "Hola mundo" ; sleep 2 ; echo "Hola Mundo"</source> | |||
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: <source lang="bash"> | |||
#!/bin/bash | |||
echo "Introduzca el tiempo (numero):" | |||
read TEMP | |||
echo "pausa de $TEMP segundos" | |||
sleep $TEMP | |||
echo "FIN" | |||
exit 0 | |||
</source> | |||
Hay que notar la primera linea <source lang="bash">#!/bin/bash</source> Esta línea es muy necesaria ya que le dice al intérprete de comandos que use el programa ubicado en: <code>/bin/bash</code> que es el intérprete '''bash''' | |||
Para ejecutar el script: | |||
*Guardar ese archivo con el nombre <code>sp1.sh</code> (por ejemplo). | |||
*Darle permisos de ejecución al script: | |||
<source lang="bash">chmod +x sp1.sh</source> | |||
*Ejecutar el script desde la línea de órdenes con: | |||
<source lang="bash">./sp1.sh</source> | |||
== Más información == | == Más información == | ||
#[http://www.tldp.org/LDP/abs/abs-guide.pdf http://www.tldp.org/LDP/abs/abs-guide.pdf] | #[http://www.tldp.org/LDP/abs/abs-guide.pdf http://www.tldp.org/LDP/abs/abs-guide.pdf] |
Revisión del 18:05 1 nov 2014
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 línea de órdenes con:
./sp1.sh