next up previous contents
Next: Re-utilización de comandos Up: Interprete de comandos: Shell Previous: Tuberías o pipes   Contents


Programación shell

La programación del shell es una de las herramientas mas apreciadas por todos los administradores y muchos usuarios de Linux/Unix ya que permite automatizar tareas complejas, comandos repetitivos y ejecutarlas con un solo llamado al script 3.1 o hacerlo automáticamente a horas escogidas sin intervención de personas.

La programación shell en Unix/Linux es, en cierto sentido, equivalente a crear archivos .BAT en DOS. La diferencia es que en Unix/Linux es mucho mas potente. Estos scripts pueden usar un sinnúmero de herramientas como:

El lenguaje de programación de cada shell provee de una amplia gama de estructuras de control como se muestra en la tabla 3.7.

Instrucciones bash para programación shell tbl_instr_bash

Un sencillo ejemplo es realizar un backup de solo ciertos directorios (prog_dir1 y prog_dir2), luego comprimirlos usando bzip2 y enviarlos a un area de almacenamiento (digamos una unidad ZIP previamente montada en /mnt/zipdrive), y además con que el nombre del archivo contenga la fecha del día. Suena difícil? Realmente no lo es.

Se crea un archivo texto con cualquier nombre, por ejemplo mibackup que contenga las instrucciones que se desea ejecutar.

		#!/bin/sh
		#
		echo "---------- Captura fecha -----------"
		fecha=`date +%Y%m%d`
		#
		echo "---------- Haciendo Tar  -----------"
		tar cvf backup$fecha.tar prog_dir1 prog_dir2 
		#
		echo "----------- Comprimiendo -----------"
		bzip2 backup$fecha.tar
		#
		echo "---------- Enviándolos a zip -------"
		cp ./backup$fecha.tar /mnt/zipdrive
		#
		echo "----------- Limpiando --------------"
		rm -f ./backup$fecha.tar
		#
		echo "----------- Final      -------------"

Luego, se le asigna permisos de ejecución con el comando

 chmod +x mibackup
y esta listo para ser ejecutado.

En el script aquí mostrado es importante resaltar varios principios importantes: la primera línea determina el shell que se esta usando (sh o bash); las variables no se declaran solo se asignan; su valor es retornado usando el símbolo $.

Si desea mas información acerca de programación en shell se puede consultar los manuales en línea del shell: bash o tcsh3.3.


next up previous contents
Next: Re-utilización de comandos Up: Interprete de comandos: Shell Previous: Tuberías o pipes   Contents
2000-03-07