Programación Bourne Shell
Buen material en la web está disponible en la página de
Esteban Manchado, y también el material de Katja
Socher
- Caracteres especiales
- Algunas variables globales en shell
$# : Número de parámetros de la línea de
comandos
${n} : Parámetro n-ésimo, $0 es el nombre del
script. Usted puede omitir los paréntesis si se trata de un único
dígito.
$? : Estado de término de último comando, Ojo si el
comando es exitoso se retorna 0, en otro caso distinto de de 0. Las
expresiones
consultan normalmente si el comando es exitoso o no. Debería
pensarse
como estatus de error al término del programa. El valor cero
implica no
error.
$* : lista de argumentos de comando empezando por $1
$! : pid del último proceso ejecutado.
$$ : pid del proceso actual.
- Uso de comillas: Comilla simple ' se usa para denotar una
secuencia de caracteres literales. No hay sustitución de variables
dentro de ellas. Ejemplo echo 'PID=$$' se mostrará tal cual. La Comila
doble " se usa cuando deseamos sustituir variables o caracteres
especiales. Ejemplo echo "PID=$$" muestra por ejemplo PID=1643. También
existe la comilla simple invertida `. Ésta será sustituida por el
resultado arrojado por su contenido entendido como un comando. Ejemplo
echo `date` mostrará la salida del comando date.
- Revisión
del control de flujo para script shell
- Creación
de funciones en shell
- Ex2
:
Este programa nos informa cuando un usuario específico se ha
logeado en la máquina. Tiene un argumento, la cuenta por la que
se espera.
- Ex3 :
Este programa entrega la lista de usuario actualmente logeados,
ordenada por sus login. Este usa el archivo script sortout.sh.
Considerar el uso del utilitario AWK para tareas de extracción de datos.
- Ex4 :
Este programa imprime el número de archivos en un
subárbol. El único argumento es la raíz del árbol
donde se buscará.
- Ex5
:
Este programa crea un archivo de respaldo para los programas C.
- Ex6 :
Este programa rastrea el directorio actual recursivamente y para cada
archivo pide al usuario un comando y luego lo ejecuta.
- Ex7
:
Este ejemplo lista el nombre de usuario y el real de cada cuenta en
electrónica. Permite mostrar el uso de IFS para definir otro
caracter como separador.
- Ex1 :
Este programa envía un archivo a un grupo de usuarios. El primer
atributo es el nombre de la carta, seguido por la lista de los
receptores del correo. Por seguridad de los servidores SMTP, éste ya no
funciona. Ver tarea del 2do.
sem. 2009 para ver cómo se puede hacer hoy.
- Para proteger contenido
de
directorios y archivos
- Para detectar presencia
de usuarios
- Otra forma de envío de correo entre otros. Un hacker
modifica regularmente una página web. Así usted
puede
alertar tal situación (Incluye uso de operador << y uso de
funciones). Script
para envío de correo.
El 2008, el Depto. de Electrónica la administración
del correo
pasó a la DCSC. Ésta usa protocolos IMAP y SSL. Luego
estos scripts
deben ser revisados para enviar correo con los servidores actuales.
- Sobre
lecturas de consola cuando hemos redireccionado la entrada de datos.
Por qué no
debemos fijar permisos de super usuario a en script
(setuid). Alguno de estos problemas ya han sido cubiertos por las
versiones actuales de Sistemas Operativos.