Bonsoir,
j'aimerais savoir ce que signifie ce code:
Si quelqu'un peut me renseigner, merci!
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
 
			
			






 
			
			
			
			 
			
				
 Shell - Explication de code
 Shell - Explication de code
				
				
						
						
				Bonsoir,
j'aimerais savoir ce que signifie ce code:
Si quelqu'un peut me renseigner, merci!
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
 
 
				
				
						
						
				A vrai dire, je ne vois pas bien pourquoi il y a des backquotes ni un expr ...
me paraîtrait suffisant
Code : Sélectionner tout - Visualiser dans une fenêtre à part erreur=$?
Pour ce code :$? contient le code de retour (d'erreur éventuelle) de l'opération ou instruction précédente.
Code : Sélectionner tout - Visualiser dans une fenêtre à part erreur=`expr $?`
expr EXPRESSION affiche le résultat de l'expression sur la sortie standard.
Les backticks `` prennent la sortie standard de la commande qu'elles encadrent pour la fournir comme une chaine au traitement en cours : l'affectation à la variable erreur.
C'est pourquoi il me paraît bizarre de passer par une étape de plus avec expr et ``, plutôt que de transférer le contenu d'une variable dans une autre.
 
 
				
				
						
						
				Pareil
C'est allourdir le code que de rajouter expr...
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				Merci pour toutes ces explications.
Je vais essayer de voir pourquoi il y y a expr dans le code.
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				Si j'ai par exemple une erreur=1, cela correspond il à un type d'erreur bien précis?
 
 
				
				
						
						
				Tout dépend du programme qui retourne cette erreur. Rien n'est vraiment standardisé sur ce point. Il faut regarder la doc du programme qui retourne l'erreur
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				Il n'y a pas de couments qui accompagnent le code;
Voici le code abrégé:
Donc quand j'execute ce code, tout se passe bien sauf que j'ai une erreur ORACLE avec le script.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
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
48
49
50
51
52
53
54
55
Je n'arrive pas à comprendre si c'est dans le script qu'il y a une erreur ou autre part...
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				Je ne comprends pas, j'ai enlevé le code au fur et à mesure jusqu'à ne garder que le if concerné pour voir d'où pouvait venir l'erreur et j'ai toujours une erreur...
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				Et quand j'initialise la varible erreur à 0 juste avant le teste, là il met met 0 erreur.
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				Quand je mets $? cela me met la valeur 0 alors que quand je mets erreur = $? et que j'affiche la valeur de erreur, cela me met 1.
Pourquoi?
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				Mais si je ne mets pas le expr, j'ai toujours l'erreur.Envoyé par MarcG
 
 
				
				
						
						
				SANS espace entre rien !.....
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
ou en ksh et bash
et la y a des espaces entre les mot clefs (( et ))
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				ok merci!
Partager