Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
atelier:chantier:bash-comparaison-lexicographique-des-chaines [13/02/2023 00:47] agp91 [Introduction] |
atelier:chantier:bash-comparaison-lexicographique-des-chaines [15/02/2023 20:52] (Version actuelle) agp91 [Introduction] |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
* Objet : Usage des opérateurs lexicographiques < et > dans les commandes de test | * Objet : Usage des opérateurs lexicographiques < et > dans les commandes de test | ||
- | * Niveau requis : {{tag>débutant avisé}} | + | * Niveau requis : {{tag>débutant}} |
* Commentaires : Ligne de commande et script bash | * Commentaires : Ligne de commande et script bash | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
Ligne 8: | Ligne 8: | ||
* Création par [[user>agp91]] 12/02/2023 | * Création par [[user>agp91]] 12/02/2023 | ||
* Testé par <...> le <...> FIXME | * Testé par <...> le <...> FIXME | ||
- | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=392903#p392903| Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME | + | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=392903#p392903| Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) |
**Nota :** | **Nota :** | ||
Ligne 20: | Ligne 20: | ||
La comparaison lexicographique entre deux chaînes permet de savoir si une chaîne est placée dans l'ordre lexicographique (comme dans un dictionnaire) avant ou après une autre chaîne. | La comparaison lexicographique entre deux chaînes permet de savoir si une chaîne est placée dans l'ordre lexicographique (comme dans un dictionnaire) avant ou après une autre chaîne. | ||
- | Nous avons tous lu et relu (peut-être même archi lu;) le manpage de bash (RTFM).\\ | + | Nous avons tous lu et relu (peut-être même archi lu;) la page de manuel de bash (RTFM).\\ |
Nous pouvons y lire (man bash) : | Nous pouvons y lire (man bash) : | ||
Ligne 46: | Ligne 46: | ||
* Une commande de test renvoie le code de retour true (0) lorsque le test réussi et false (1) lorsqu'il échoue. | * Une commande de test renvoie le code de retour true (0) lorsque le test réussi et false (1) lorsqu'il échoue. | ||
* Le code retour d'une commande est mémorisé dans le paramètre spécial **$?**. | * Le code retour d'une commande est mémorisé dans le paramètre spécial **$?**. | ||
- | * La commande **<nowiki>&&</nowiki>** exécute la commande suivante, si la commande précédente à renvoyée le code retour true (égale à 0). | + | * L'opérateur **<nowiki>&&</nowiki>** exécute la commande suivante, si la commande précédente à renvoyée le code retour true (égale à 0). |
- | * La commande **<nowiki>||</nowiki>** exécute la commande suivante, si la commande précédente à renvoyée le code retour false (différent de 0). | + | * L'opérateur **<nowiki>||</nowiki>** exécute la commande suivante, si la commande précédente à renvoyée le code retour false (différent de 0). |
Plus bas, nous utilisons //le méta caractère *****// dans le développement des chemins. L'option //**noglob**// ne doit donc pas être active.\\ | Plus bas, nous utilisons //le méta caractère *****// dans le développement des chemins. L'option //**noglob**// ne doit donc pas être active.\\ | ||
Ligne 169: | Ligne 169: | ||
</file> | </file> | ||
- | Le code de retour renvoie 1 (faux) car les fichiers az et 42 ne peuvent être créés et génèrent une erreur dans le test.\\ | + | Le code de retour renvoie 1 (faux) car le fichier az ne peut être créé et génère une erreur dans le test.\\ |
- | Mais alors, le manpage de bash raconte des sottises ?\\ | + | Mais alors, la page du manuel de bash raconte des sottises ?\\ |
Non !\\ | Non !\\ | ||
Il y est simplement omis, que **les opérateurs < et > doivent être protégés**, pour être interprétés comme des opérateurs de comparaison lexicographique.\\ | Il y est simplement omis, que **les opérateurs < et > doivent être protégés**, pour être interprétés comme des opérateurs de comparaison lexicographique.\\ |