Problème dans un script avec awk
bonjour
j'ai crée un script bash en utilisant principalement awk je rencontre un souci avec la commande "system" qui ne me retourne pas la commande exécuté
voici le script :
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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| INSTANCE=$1
SERVEUR=$2
ssh root@${SERVEUR} "su - oracle -c \"srvctl status database -d ${INSTANCE}\"" | awk '
{
node=$2
instance=$10
code=$4$5
if ( code ~ /encours/ ){
message = message" "node" "instance
pop[node] = instance
result = 1
#print node" " instance
}
}
END {
if ( result ){
for ( node in pop){
compteur ++
#print "WARNING : le(s) instance(s) "node" est ou sont pas demarre(s) sur le(s) serveur(s) " pop[node]
node_bis = node" "node
tableau = tableau" "pop[node]
cmd="exit 2"
}
} else {
compteur = 0
#print "OK : les deux nodes sont demarres"
cmd="exit 0"
}
if ( compteur == 1 ){
print "WARNING : instance "node" est pas demarre sur le serveur " pop[node] " | rsult='1';0;0;0;1"
} else if ( compteur > 1){
print "WARNING : les instances "node_bis" sont pas demarres sur les serveurs " tableau " | rsult='1';0;0;0;1"
}else{
print "OK : les deux nodes sont demarres | rsult='0';0;0;0;1"
}
system(cmd)
} |
voici le résultat :
Citation:
WARNING : les instances ORBIS2 ORBIS2 sont pas demarres sur les serveurs srv-orbis1 srv-orbis2 | rsult=1;0;0;0;1
donc il m'affiche bien ce que je souhaite par contre la commande system("exit 2") n'est pas appliquée puisque lorsque je fais un echo $? aprés l'exécution du script, je n'ai pas la valeur 2 qui s'affiche mais 0
Citation:
[root@Srv-nagios plugins_nagios_chimag]# echo $?
0
Pourriez-vous me renseigner ?
je vous remercie