El comando exit.


El comando exit finaliza un script. Incluso, puede arrojar un valor de terminación, el cual estará disponible para su proceso padre.

Todo comando posee un estado de terminación(exit status). Un comando que se ejecutó satisfactoriamente arrojará un valor de 0, mientras que un comando que no se procesó de manera correcta, finalizará con un número diferente de 0.

Al igual que un comando, un script posee su propio estado de terminación, el cual será determinado por la última instrucción ejecutada por el script.

Dentro de un script, el comando exit puede arrojar un número dentro de un rango de 0 a 255. Ejemplo:

#! /bin/bash

############################
##
## Cuerpo Del script.
##
############################

COMANDO_1
COMANDO_2
.
.
.
COMANDO_n

exit 206

De no utilizar un parámetro en el comando exit, el script arrojará el valor de terminación de la última instrucción ejecutada. Ejemplo:

#! /bin/bash

############################
##
## Cuerpo Del script.
##
############################

COMANDO_1
COMANDO_2
.
.
.
echo "Terminando Script..."

# El programa finalizara con el estatus arojado por el comando echo

exit

Otra manera por la cual el script puede arrojar el valor de terminación de la última instrucción ejecutada es utilizando el comando exit  anteponiendo como parámetro la variable especial $? . Ejemplo:

#! /bin/bash

############################
##
## Cuerpo Del script.
##
############################

COMANDO_1
COMANDO_2
.
.
.
printf "Terminando Script..."

# El programa terminara con el estatus arojado por el comando printf

exit $? # Utilizacion de la variable $?

Una última forma por la cual el script puede arrojar el estado de terminación de la última sentencia ejecutada es evitando el uso del comando exit. Ejemplo:

#! /bin/bash

############################
##
## Cuerpo Del script.
##
############################

COMANDO_1
COMANDO_2
.
.
.
echo -n 'Terminando Script...'

# El programa finalizara con el valor arrojado por el último comando ejecutado.

La variable $? lee el valor de terminación del último comando ejecutado. De igual forma, cuando un script termina de ejecutarse, la variable $? guarda su valor de terminación.

EJERCICIOS

  1. Trate de revisar las páginas del manual para el comando esteComandoNoExiste. ¿Cuál es su valor de terminación?
  2. Utilice el comando pwd sobre su directorio actual. ¿Cuál es su valor de terminación?
  3. Visualice las últimas 5 líneas de /etc/hosts y /etc/archivoInexistente. ¿Cuál es su valor de terminación?
  4. Visualice el contenido del archivo /etc/hosts. ¿Cuál es su valor de terminación?
  5. Cree y ejecute un shell script cuyo valor de terminación sea 213.
  6. Cree y ejecute un shell script cuyo valor de terminación sea 0.
  7. Cree y ejecute shell script cuyo valor de terminación este basado en la instrucción ls -a /tmp. ¿Cuál es su valor de terminación?
  8. Cree y ejecute shell script cuyo valor de terminación este basado en la instrucción head archivoInexistente. ¿Cuál es su valor de terminación?
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s