| Qui est en ligne ? |
| Il y a : 20 utilisateurs en ligne, consultez le détail |
Forum » Serveur, Réseaux et Programmation » Petite question sur la programmation shell |
Forum modéré par : jblecanard |
| Même auteur |
|
Score ( voter ) : |
|
| Page : [1] |
| Auteur | Message |
|---|---|
|
|
#0 Message posté le : 07-01-2007 à 11:25:29 |
Petit scarabée Forum : Inscrit Association : Arrivé(e) le : 16-01-2003 Nombre de messages : 16 |
Bonjour, Je cherche à récupérer le résultat d'un grep dans une variable dans un script. J'ai donc qqch dans le genre:
Le résultat est l'affichage du string: grep "Il y a" ./karo.htm. Donc, il ne m'exécute pas le grep et ne m'affiche que la commande. J'ai aussi essayé:
Et dans ce cas, le résultat est: eval grep "Il y a" ./karo.htm. Je suis persuadé que ça ne doit pas être bien compliqué mais sur ce coup-là, je suis vraiment bloqué. Merci d'avance pour votre aide. Val |
|
|
#1 Message posté le : 07-01-2007 à 11:40:46 |
Petit scarabée Forum : Inscrit Association : Arrivé(e) le : 16-01-2003 Nombre de messages : 16 |
OK, je pense que j'ai trouvé, bien que tout commentaire ou autre suggestion soit les bienvenus. Voilà ce que ça donne:
Et là j'ai bien le résultat de mon grep dans ma variable $s C'est quand même bizarre parce que j'ai trouvé des tutoriels sur le net et ils disaient que ce qui est entre simples quotes est exécuté. Bref, je suis débloqué donc ça me convient. a+ Val |
|
|
#2 Message posté le : 07-01-2007 à 11:53:28 |
Naboo Forum : Inscrit Association : Arrivé(e) le : 09-04-2003 Nombre de messages : 2073 |
Je pense que c'est ` , AltGrad+7, qu'il faut mettre et pas '. Et echo $s devrait suffire. --Message édité par léo le 07-01-2007 à 11:55:33-- ------------------------------------- Tant qu'il y aura des hommes, il y aura des tanks.(Audiberti) |
|
|
#3 Message posté le : 07-01-2007 à 19:27:03 |
Petit scarabée Forum : Inscrit Association : Arrivé(e) le : 16-01-2003 Nombre de messages : 16 |
Léo, Bien vu! En effet, en lisant les articles traitant de ça, je n'avais pas vu la différence entre ' et ` ... Comme quoi on a quelque fois la solution en face des yeux... Merci beaucoup à toi, ça me sera bien utile. Val |
|
|
#4 Message posté le : 07-01-2007 à 21:24:46 |
Naboo Forum : Modérateur Association : Président Arrivé(e) le : 09-04-2006 Nombre de messages : 2085 |
C'est effectivement s=`cmd` qu'il faut utiliser. La syntaxe s=$(cmd) marche aussi et a l'avantage de permettre plus d'imbrications : truc=$(`cmd`) (la sortie de cmd est donc ici un nom de commande). Les guillemets simples servent à l'échappement : tout ce qui est 'entre ceux-ci' est laissé tel quel ; les "doubles" ont la même fonction mais sont moins forts ($, ` et \ sont interprétés). Je conseille donc d'écrire s="`cmd`" au cas où la sorte de cmd contiendrait des espaces. ------------------------------------- toto |
| Page : [1] |
Forum » Serveur, Réseaux et Programmation » Petite question sur la programmation shell |
Forum modéré par : jblecanard |
| Même auteur |
|
Score ( voter ) : |
|
- Petit scarabée : 0 pastille, moins de 100 messages
- Scarabée : 0 pastille, plus de 100 messages
- Hobbit : 1 pastille, plus de 1000 messages
- Naboo : 2 pastilles, plus de 2000 messages
- Elfe : 3 pastilles, plus de 3000 messages
- Jedi : 4 pastilles, plus de 4000 messages
- Maître Jedi : 5 pastilles, plus de 5000 messages