Recuperer le resultat d'une commande
Bonjour
je lance une commande dans un script et je voudrais savoir si le resultat obtenu est égal à une certaine valeur ...
exemple
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
su - oracle -c "
lsnrctl stop HEXA
sqlplus -s \"/ as sysdba\" <<EOF
shutdown immediate
EOF
" | awk '{
if($0 == "Database closed.")
compt1 = 1
if($0 == "Database dismounted.")
compt2 = 1
if($0 == "ORACLE instance shut down.")
compt3 = 1
}
END{
total = compt1 + compt2 + compt3
{
if( total != 3)
print "1"
}
}
' |
voici le script que je lance donc si tout se déroule bien il renvoie "1" ... par exemple si vous lancer certaines commandes sous linux et que l'on fait
echo $? on obtient 1 ou 0 ce que je veux dire c'est que la commande echo $?
permet de savoir si le script s'est bien déroulé .. et ce que je voudrais obtenir sans avoir à recupérer le resultat via une variable comme ceci
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
RESULT=$(su - oracle -c "
lsnrctl stop HEXA
sqlplus -s \"/ as sysdba\" <<EOF
shutdown immediate
EOF
" | awk '{
if($0 == "Database closed.")
compt1 = 1
if($0 == "Database dismounted.")
compt2 = 1
if($0 == "ORACLE instance shut down.")
compt3 = 1
}
END{
total = compt1 + compt2 + compt3
{
if( total != 3)
print "1"
}
}
'
)
if [ ${RESULT} eq '1' ];then
suite du programme
fi |
merci[/u]