Foros del Web » Administración de Sistemas » Unix / Linux »

duda con codigo de error

Estas en el tema de duda con codigo de error en el foro de Unix / Linux en Foros del Web. Hola, si yo tengo por ejemplo el siguiente script: while read line do #ejecuto un script if [ #devuelve codigo de error ]; do break ...
  #1 (permalink)  
Antiguo 18/10/2012, 21:07
 
Fecha de Ingreso: octubre-2012
Mensajes: 5
Antigüedad: 11 años, 7 meses
Puntos: 0
duda con codigo de error

Hola, si yo tengo por ejemplo el siguiente script:


while read line

do

#ejecuto un script

if [ #devuelve codigo de error ]; do
break
fi

done < archivo_con_scripts.txt


Yo lo que estoy buscando es ejecutar los scripts que estan en el txt y si uno devuelve error ya no ejecutar los que siguen. Mi pregunta es como detecto que lo que me devolvio el script es error? Puede ser que sea con algo tipo exit o return?
O sea me faltaria establecer la condicion "devuelve codigo de error" del if, alguien sabe como hacerlo?
  #2 (permalink)  
Antiguo 19/10/2012, 09:25
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: duda con codigo de error

En BASH, en todo momento tenés disponible el código de salida del último programa ejecutado en la variable $?. Por convención, todo código de salida distinto a cero es un error.

Entonces, con

if [ $? -ne 0 ]

basta para comprobarlo.

Otra forma es ejecutar el programa directamente desde el if:

if ! programa_termina_bien; then
...
fi

Por último, está el modificador -e de set, que aborta la ejecución de un script si algún programa falla (man set)
  #3 (permalink)  
Antiguo 19/10/2012, 20:06
 
Fecha de Ingreso: octubre-2012
Mensajes: 5
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: duda con codigo de error

gracias! ahora lo pruebo

Etiquetas: ip
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:48.