Linux/Unix Shell Scripting - DONDE SE PONE SET -E PARA EL CONTROL DE ERRORES?

 
Vista:
sin imagen de perfil

DONDE SE PONE SET -E PARA EL CONTROL DE ERRORES?

Publicado por alv19mar19 (12 intervenciones) el 02/06/2015 10:46:36
1
2
3
4
5
6
7
8
9
#! bin/bash
 
n=0
while test $n -le 10
do
    result=`expr $n \* $1`
    echo $1*$n = [$result]
n=`expr $n + 1`
done

Se que para el control de errores se utiliza set -e pero no se donde ponerlo si en el propio codigo
o al ejecutar el script...
Ayuda con ejemplo gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 104
Oro
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

DONDE SE PONE SET -E PARA EL CONTROL DE ERRORES?

Publicado por xve (309 intervenciones) el 02/06/2015 14:17:09
Hola, se pone dentro del archivo, al principio de todo...

Si revisas cualquier script de /etc/init.d/.... veras que muchos lo utilizan, y lo llevan al inicio del todo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

DONDE SE PONE SET -E PARA EL CONTROL DE ERRORES?

Publicado por alv19mar19 (12 intervenciones) el 02/06/2015 14:20:38
1
2
3
4
5
6
7
8
9
#! bin/bash
set -e
n=0
while test $n -le 10
do
    result=`expr $n \* $1`
    echo $1*$n = [$result]
n=`expr $n + 1`
done

ASÍ ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 104
Oro
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

DONDE SE PONE SET -E PARA EL CONTROL DE ERRORES?

Publicado por xve (309 intervenciones) el 02/06/2015 18:24:21
Si, así perfecto!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

DONDE SE PONE SET -E PARA EL CONTROL DE ERRORES?

Publicado por alv19mar19 (12 intervenciones) el 02/06/2015 18:44:59
Ok, pero si yo ejecuto bash ejemplo.sh 5 y no pongo set -e me sale la tabla de multiplicar del 5.
En cambio si pongo set -e tal cual he puesto antes y ejecuto: bash ejemplo.sh 5 no me sale la tabla de multiplicar del 5.
Qué quiere decir entonces el control de errores?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 104
Oro
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

DONDE SE PONE SET -E PARA EL CONTROL DE ERRORES?

Publicado por xve (309 intervenciones) el 02/06/2015 20:22:16
El "set -e" indica que salga inmediatamente del script si un comando devuelve un valor distinto de 0

Por esta razón, no te permite mostrar nada en pantalla... finaliza el script antes de terminar...

Con help set podrás visualizar la ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

DONDE SE PONE SET -E PARA EL CONTROL DE ERRORES?

Publicado por alv19mar19 (12 intervenciones) el 02/06/2015 20:34:48
Ahora lo entiendo. Muchas gracias me ha servido de gran ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar