Salut,
je veux savoir comment mettre le résultat de la commande grep dans une variable pour pouvoir tester si le texte recherché a été trouvé ou non.
Est ce que c'est possible?
Merci
 Discussion :
        Discussion :
		 
 
		 
			
			






 
			
			
			
			 
			
				
 bash: comment mettre le résultat d'une commande dans une variable
 bash: comment mettre le résultat d'une commande dans une variable
				
				
						
						
				Salut,
je veux savoir comment mettre le résultat de la commande grep dans une variable pour pouvoir tester si le texte recherché a été trouvé ou non.
Est ce que c'est possible?
Merci
 
 
				
				
						
						
				Bonjour,
c'est possible, mais cela n'a rien d'indispensable :à moins que tu aies besoin du contenu de la recherche ultérieurement
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
...
?
 
 
				
				
						
						
				Salut
Ta question est assez embêtante car on ne sais pas trop si ton but est de vérifier que grep a trouvé ou bel et bien récupérer son résultat. Mais bon, c'est naturel si tu ne connais pas trop encore les possibilités du shell.
Comme te le montre N_BaH, si tu veux juste vérifier que grep a trouvé, alors tu n'as pas besoin de récupérer son résultat. Car, à l'instar de tout programme Unix, grep se comporte comme un objet booléen. Il renvoie "vrai" s'il trouve et "faux" s'il ne trouve pas.
Et donc on peut directement le mettre dans une alternative if
Code bash : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
Maintenant, si tu veux récupérer ce qu'il t'affiche, alors il suffit de le mettre entre backquotes comme toute commande Unix.
Code bash : Sélectionner tout - Visualiser dans une fenêtre à part 
2
Backquotes pouvant, dans les shells récents comme bash, être remplacées par $()
Code bash : Sélectionner tout - Visualiser dans une fenêtre à part 
2
Ce qui autorise aussi, bien entendu, de vérifier quand-même que ça a réussi
Code bash : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				Salut,
J'ai besoin d'un script bash de nouveau. Et j'ai la même problématique de vouloir utiliser le résultat d'une commande.
Dans l'exemple ci-dessous le résultat retourné par le script est 0 alors que quand je tape la commande directement dans le terminal, le résultat est 1.
Savez vous pourquoi?
--------------- Le script bash -----------------
------------------------------------------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
--------------Le contenu de myfile -----------------------
---------------------------------------------------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
Merci
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				Corrigé
Je sais pas pourquoi j'avais compliqué les choses
Voilà la solution:
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
 
 
				
				
						
						
				Yep. La syntaxe du grep est simple: on met la chaine à chercher entre guillemets.
Et si on a besoin de chercher des guillemets, là on les protège de backslashes
Code bash : Sélectionner tout - Visualiser dans une fenêtre à part grep "Hector a crié \"en avant\" et nous sommes montés à l'assaut" livre
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Partager