Unix - Condiciones

 
Vista:

Condiciones

Publicado por Aldo (6 intervenciones) el 09/07/2013 23:21:16
hola amigos, estoy haciendo el siguiente shell y ya me atoré:

# echo "===Inicio de Servicios Web==="
cd /sas/thirdparty/jboss-4.2.0.GA/bin/

# ===Inicio de JBOSS Server1===
./SASServer1.sh start
./SASServer1.sh status

# ===Inicio de JBOSS Server2===
./SASServer2.sh start
./SASServer2.sh status

# ===Inicio de JBOSS Server6===
./SASServer6.sh start
./SASServer6.sh status

resto del shell

la cuestión es la siguiente: cada que pido estatus, la salida debe ser JBoss running (pid XXXXXXXX), si y solo si es esta la salida debe continuar, de lo contrario debe detenerse y enviar un mensaje que indique que ya no se seguirá ejecutando, como verán son tres ejecuciones prácticamente iguales, por lo tanto en cualquiera de los tres casos deberá detenerse y enviar el mensaje en caso de que la salida no sea la esperada.

espero me puedan ayudar

saludos
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: 35
Ha mantenido su posición en Unix (en relación al último mes)
Gráfica de Unix

Condiciones

Publicado por xve (70 intervenciones) el 10/07/2013 08:50:59
Hola Aldo, algo así te serviria?

1
2
3
4
5
6
7
8
./SASServer1.sh start
# suponiendo que devuelva algo como: JBoss running (pid XXXXXXXX)
result=`./SASServer1.sh status | awk '{print $2}'`
if [ "result" = "running" ];then
    echo "funciona"
else
    echo "No funciona"
fi


coméntanos, ok?
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

Condiciones

Publicado por Aldo (6 intervenciones) el 10/07/2013 16:43:23
Hola, si entiendo esa parte, mas bien lo que se me complica es como hacerlo para los tres casos, considerando que como decia, si la salida es diferente no se debe seguir ejecutando.

Gracias
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: 35
Ha mantenido su posición en Unix (en relación al último mes)
Gráfica de Unix

Condiciones

Publicado por xve (70 intervenciones) el 10/07/2013 17:57:00
Hola Aldo, seria tan sencillo como jugar los if's, no?

1
2
3
4
5
6
7
8
9
10
11
12
13
./SASServer1.sh start
result=`./SASServer1.sh status | awk '{print $2}'`
if [ "result" = "running" ];then
    ./SASServer2.sh start
    result=`./SASServer2.sh status | awk '{print $2}'`
    if [ "result" = "running" ];then
        ./SASServer6.sh start
        result=`./SASServer6.sh status | awk '{print $2}'`
        if [ "result" = "running" ];then
            echo "todo ok"
        fi
    fi
fi
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