Next: Sub-Shells
Up: Lo común a todos
Previous: Los metacaracteres
Podemos almacenar en un fichero un conjunto de comandos del shell y a
continuación darle permisos para ejecución. Si hacemos esto, hemos
escrito un script. A estos ficheros se les llama también programas de
shell. Para ejecutar un script sólo deberemos teclear el camino hasta su
nombre5.2 y a
continuación pulsar la tecla return . Los script se utilizan para
automatizar tareas que suelen ejecutarse de una forma más o menos regular
y que por tanto pueden programarse.
Cuando un script corre, el núcleo (kernel) del sistema operativo UNIX
determina para que tipo de shell fue escrito (C Shell, Bourne Shell, etc).
Esto lo hace examinando la primera línea del script. Las reglas usadas
son:
- Si el primer carácter de la primera línea es un #, es script
será interpretado por en C Shell.
- Si la primera línea es de la forma #! programa_ejecutable, entonces
el programa ejecutable programa_ejecutable es usado para interpretar el script.
- Si ninguna de las dos anteriores reglas es seguida, el script será
interpretado por el Bourne Shell.
Si el carácter # aparece en cualquier otra parte que no sea como primer
carácter del script, será interpretado como inicio de comentario, elementos
que siempre deben de existir si es que deseamos que el mantenimiento del
sistema no se convierta en una pesadilla. Es recomendable, que si vamos a usar
el C Shell como shell para ejecutar un script, comencemos la primera línea
con la cadena #! y de esa forma indiquemos claramente cual es el shell
usado para ejecutar el script.
A continuación se describe dos ejemplos de construcción de scripts. El
primero interpretado por el C Shell y el segundo por el Korn Shell:
width 3pt
width .3pt415ptgogh: > cat > script.csh (creamos el script)
# Este es un ejemplo de un script escrito para el C Shell.
echo -n La fecha de hoy es :
date # imprimimos en pantalla (la salida estándar) la fecha de hoy.
^D
gogh: > cat > script.ksh (creamos el script)
#! /bin/ksh
# Este es un ejemplo de un script escrito para el Korn Shell.
echo -n La fecha de hoy es :
date # imprimimos en pantalla (la salida estándar) la fecha de hoy.
^D
gogh: >chmod +x script.csh script.ksh (cambiamos los permisos para ejecución)
gogh: > ls -lF script.csh script.ksh
-rwxrwxr- 1 vi wheel 154 Apr 24 17:07 script.csh*
-rwxrwxr- 1 vi wheel 180 Apr 24 17:09 script.ksh*
gogh: > script.csh (ejecutamos el primer script)
La fecha de hoy es :Mon Apr 24 17:10:50 GMT 1995
gogh: > script.ksh
La fecha de hoy es :Mon Apr 24 17:11:01 GMT 1995
gogh: >
width .3pt
depth .3pt
width -3pt
Como se puede observar en el ejemplo, lo primero que realizamos es ejecutar
un Child Shell (shell hijo). Esto provoca que las instrucciones
escritas en el script sean ejecutadas en un shell distinto al que lanzó
el shell. Si este no se ejecuta en background, el Parent Shell
(shell padre) duerme hasta que el script es ejecutado. Si el script se
ejecuta en background, los dos shells se ejecutan simultáneamente.
Next: Sub-Shells
Up: Lo común a todos
Previous: Los metacaracteres
Vicente González Ruiz
1998-07-13