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 Prochaine révision Les deux révisions suivantes | ||
doc:programmation:shells:la-page-man-bash-ii-les-operateurs-lexicographiques [21/02/2023 02:15] agp91 [Comparaison entre deux chaînes] |
doc:programmation:shells:la-page-man-bash-ii-les-operateurs-lexicographiques [21/02/2023 18:30] ubub [Tester une chaîne (vide ou pas)] |
||
---|---|---|---|
Ligne 27: | Ligne 27: | ||
<note> | <note> | ||
- | Dans la page du manuel de bash, **les opérateurs des commandes de test** sont nommées __**primitives**__. | + | Dans la page du manuel de bash, **les opérateurs des commandes de test** sont nommés __**primitives**__. |
</note> | </note> | ||
- | Bash dispose de plusieurs commandes pour **réaliser des tests sur des chaînes de carractères**. | + | Bash dispose de plusieurs commandes pour **réaliser des tests sur des chaînes de caractères**. |
* Les commandes internes **[** et **test**. | * Les commandes internes **[** et **test**. | ||
Ligne 38: | Ligne 38: | ||
* Les commandes **[** et **test** sont disponibles dans leurs versions externe : **/usr/bin/[** et **/usr/bin/test**. | * Les commandes **[** et **test** sont disponibles dans leurs versions externe : **/usr/bin/[** et **/usr/bin/test**. | ||
* Elles ont toutes les deux la même page de manuel (**man [** ou **man test**). | * Elles ont toutes les deux la même page de manuel (**man [** ou **man test**). | ||
- | * Les commandes internes disposent de primitive que n'ont pas les commandes externes. | + | * Les commandes internes disposent de primitives que n'ont pas les commandes externes. |
</note> | </note> | ||
Ligne 44: | Ligne 44: | ||
__Rappels :__ | __Rappels :__ | ||
- | * Une commande de test renvoie le code de retour 0 (considérer comme vrai) lorsque le test réussi et 1 (considérer comme faux) lorsqu'il échoue. | + | * Une commande de test renvoie le code de retour 0 (considéré comme vrai) lorsque le test réussi et 1 (considéré comme faux) 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 $?. | ||
- | * L'opérateur de contrôle **&&** exécute la commande suivante, si la commande précédente à renvoyée un code de retour égale à 0. | + | * L'opérateur de contrôle **&&** exécute la commande suivante, si la commande précédente a renvoyé un code de retour égal à 0. |
- | * L'opérateur de contrôle **||** exécute la commande suivante, si la commande précédente à renvoyée un code de retour supérieur à 0. | + | * L'opérateur de contrôle **||** exécute la commande suivante, si la commande précédente a renvoyé un code de retour supérieur à 0. |
</note> | </note> | ||
Ligne 117: | Ligne 117: | ||
Les directives **-z** et **-n** sont des directives unaires, elles n'acceptent qu'un seul opérande (argument).\\ | Les directives **-z** et **-n** sont des directives unaires, elles n'acceptent qu'un seul opérande (argument).\\ | ||
- | Si sa valeur contient des espaces, il doit être protégé par des guillemets simple ou doubles.\\ | + | Si sa valeur contient des espaces, cela doit être protégé par des guillemets simples ou doubles.\\ |
- | __Rappel__ : Les guillemets simple ne permettent le remplacement des paramètres. | + | __Rappel__ : Les guillemets simples ne permettent pas le remplacement des paramètres. |
<code user> | <code user> | ||
Ligne 133: | Ligne 133: | ||
</note> | </note> | ||
- | La directive **-n** revoie un code de retour inattendu, quand un paramètre vide est testé sans protection.\\ | + | La directive **-n** renvoie un code de retour inattendu, quand un paramètre vide est testé sans protection.\\ |
Sauf avec la commande **<nowiki>[[</nowiki>**. | Sauf avec la commande **<nowiki>[[</nowiki>**. | ||
Ligne 166: | Ligne 166: | ||
</file> | </file> | ||
- | Lors du remplacement d'un paramètre, l’opérateur **+** permet, si la valeur du paramètre est non nulle, de la substituée par une autre valeur (ici **x**). | + | Lors du remplacement d'un paramètre, l’opérateur **+** permet, si la valeur du paramètre est non nulle, de la substituer par une autre valeur (ici **x**). |
- | Avec la directive **-n** les guillemets restent nécessaires au cas ou le paramètre mémorise une chaîne vide, sauf avec la commande **<nowiki>[[</nowiki>**. | + | Avec la directive **-n** les guillemets restent nécessaires au cas où le paramètre mémorise une chaîne vide, sauf avec la commande **<nowiki [[</nowiki>**. |
<code user> | <code user> |