Next: El Bourne Shell
Up: Lo común a todos
Previous: Variables del Shell
En todos los shells existe un comando que termina tanto los scripts como el
shell (ya que una sesión interactiva con un shell puede considerarse como un
script muy complejo, que se crea a la vez que se ejecuta el anterio comando).
Este es:
-
- exit número
Este comando termina todo aquello que lo ejecuta y retorna un código de
salida que puede ser obtenido normalmente por un shell padre. En realidad
casi todos los programas que podemos correr en UNIX devuelven códigos
de salida que nos indican si estos se han ejecutado con éxito (devolviendo
normalmente un 0). Esto posibilita las ejecuciones condicionales antes
vistas. En el C shell, la variable $status contiene el valor
retornado por el anterior comando ejecutado.
Ejemplo:
width 3pt
width .3pt415ptiron% date (ejecutamos un comando con sin error)
Wed Apr 26 16:02:26 WET DST 1995
iron% echo $status (comprobamos que no ha habido error)
0
iron% cc prog.c (compilamos un programa que no existe)
cpp: prog.c: No such file or directory
iron% echo $status (este es el código de salida cuando no es posible compilar)
2
iron% awk (llamamos a la utilidad de búsqueda de cadenas sin parámetros)
awk: Usage: awk [-f source] [-Fc] ['cmds'] [variable=value ...] [file ...]
iron% echo $status (pero al no haber trabajado, devuelve su código de error)
2
iron%
width .3pt
depth .3pt
width -3pt
De la misma forma, el comando exit puede retornar un código
cuando es ejecutado. Ejemplo:
width 3pt
width .3pt415ptgogh: > cat script_exit.csh (presentamos un pequeño script)
echo Este script retorna un código de salida de 3
exit 3 (que termina retornando el código de salida 3)
gogh: > chmod +x script_exit.csh (asegurémonos de que es ejecutable)
gogh: > script_exit.csh (ejecutamos el script)
Este script retorna un código de salida de 3 (salida del script)
gogh: > echo $status (vemos el estado de salida)
3
width .3pt
depth .3pt
width -3pt
Next: El Bourne Shell
Up: Lo común a todos
Previous: Variables del Shell
Vicente González Ruiz
1998-07-13