Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/08/2003, 04:33
Avatar de lical
lical
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: $PWD
Mensajes: 1.267
Antigüedad: 23 años, 1 mes
Puntos: 0
Pues verás, si pones el comando anterior el

echo " "

Este siempre devolverá 0, porque siempre tendrá exito. La variable $? tiene el valor de retorno del comando ejecutado inmediatamente antes. Es por esto que el ejemplo textual:

Código:
#!/bin/bash

echo "Listando archivo existente..."
ls archivo_existente
echo "El valor de retorno fue: $?"

echo " "

echo "Listando archivo inexistente..."
ls archivo_inexistente
echo "El valor de retorno fue: $?"

exit
debería funcionar correctamente. Porque está inmediatamente después del comando que produce el error.

Aunque siempre tienes la opción de guardar el valor de retorno de un comando en otra variable para hacer uso de él más tarde:

Código:
#!/bin/bash

ls archivo_inexistente
RETVAL=$?

## Aquí pongo las líneas que quiera

echo "El valor de retorno del listado de"
echo "unas líneas antes fue: $RETVAL"
Espero que sirva.

Un saludo,
__________________
lical-> Usuario registrado de Linux #254225

ZonaSiete.ORG - GNU/Linux eminentemente práctico

Última edición por lical; 25/08/2003 a las 04:38