Vérifier la version des outils dans un script [bash] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 27-11-2009 à 18:14:05
#!/bin/bash |
Ca renvoie une erreur mais ca fait la comparaison quand même. Il doit pas y avoir grand chose a changer.
Marsh Posté le 27-11-2009 à 19:22:31
Citation : SED_VERSION=$(sed --version | awk '$3 ~ /version/ {print $4}') |
Évitons les pipes inutiles.
Marsh Posté le 01-12-2009 à 13:20:45
Désolé pour le retard de ma réponse.
Merci à vous deux pour vos réponses. Elles m'aident beaucoup.
Cependant, le problème de ce script est qu'il vérifie si une version est installé et non pas si une version minimal est installé. Or, et dans l'absolu, j'aurais voulue la deuxième option, mais j'ai peur que cela rende la chose plus compliqué.
Marsh Posté le 01-12-2009 à 17:31:36
ReplyMarsh Posté le 02-12-2009 à 09:12:39
Bonjour,
alors j'ai essayé. mais cela pose un problème lors de l'utilisation de la commande -eq (ou -ge) car les variables ne contiennent pas que des chiffres (par ex. 4.1.5).
Je peut comparer la valeur de deux chaines , mais, pour l'instant, ne pas savoir si une version minimal est présente.
Marsh Posté le 02-12-2009 à 11:11:05
Remplace "-eq" (equal) par "-ge" (greater or equal) dans mon mini script
Marsh Posté le 02-12-2009 à 14:09:37
Voila le message que j'obtiens :
|
Que ce soit en utilisant -eq ou -ge
Marsh Posté le 02-12-2009 à 14:30:10
#!/bin/bash |
Ca, ça marche.
Marsh Posté le 02-12-2009 à 14:31:02
Et pourquoi ne pas passer par la version du package accessible via les commandes CLI du gestionnaire de packages de ta distribution ?
Marsh Posté le 02-12-2009 à 14:34:34
Essaie d'utiliser = , != , < , > pour voir si ça marche, c'est plus adapté aux chaines.
[ "1.2.3.4" \< "1.3.4.5" ]
http://www.ibm.com/developerworks/ [...] -test.html
Marsh Posté le 02-12-2009 à 16:29:13
Merci tuxerman. Ca marche mieux en utilisant les échappements et '>' ou '<'
Marsh Posté le 24-12-2009 à 09:31:49
Sans échappement ça passe pas , par défaut <> sont utilisés comme redirecteurs dixit l'auteur de l'article que j'ai cité.
Marsh Posté le 27-11-2009 à 15:33:31
Bonjour,
Suite à mes précédents messages (et je remercie au passage les forumers qui m'ont aidés par leur réponse), j'ai encore besoin d'une petite aide:
Au débute de mon script je vérifie la présence des outils dont je me sers. Cela fonctionne très bien. Mais j'aimerais augmenter la force de la chose, en contrôlant également la version du logiciel.
Pour ce faire, je voulais faire
sed --version | head -1 | awk '{print $4}'
Mais aprés comment vérifie que la version présente est bien celle que je souhaite?
---------------
Celui qui sauve une vie, sauve l'humanité (Le Talmud) - Personne n'a plus grand amour que celui de donner sa vie pour ses amis (Jean XV, 13)