Bonjour
je lance une commande dans un script et je voudrais savoir si le resultat obtenu est égal à une certaine valeur ...
exemple
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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" } } '
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
merci[/u]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager