Variable operateurs chaines
De Linuxmemo.
(→Motifs et correspondance de motifs) |
|||
Ligne 53 : | Ligne 53 : | ||
Exemple: supposons que la variable | Exemple: supposons que la variable | ||
path contienne la valeur /home/cam/livre/nom.fichier.long | path contienne la valeur /home/cam/livre/nom.fichier.long | ||
- | ${path##/*/} donne comme résultat nom.fichier.long | + | ${path##/*/} donne comme résultat: |
- | ${path#/*/} donne comme résultat cam/livre/nom.fichier.long | + | nom.fichier.long |
- | $path donne comme résultat /home/cam/livre/nom.fichier.long | + | ${path#/*/} donne comme résultat: |
- | ${path%/*/} donne comme résultat /home/cam/livre/nom.fichier | + | cam/livre/nom.fichier.long |
- | ${path%%/*/} donne comme résultat /home/cam/livre/nom | + | $path donne comme résultat: |
+ | /home/cam/livre/nom.fichier.long | ||
+ | ${path%/*/} donne comme résultat: | ||
+ | /home/cam/livre/nom.fichier | ||
+ | ${path%%/*/} donne comme résultat: | ||
+ | /home/cam/livre/nom |
Version actuelle en date du 27 mars 2012 à 20:45
[modifier] Syntaxe des opérateurs de chaine
${nomvar:-mot}
But: renvoyer une valeur par défaut.
Si nomvar existe et n'est pas nulle, retourne sa valeur, sinon revoie mot.
${nomvar:=mot}
But: donner une valeur par défaut.
Si nomvar existe et n'est pas nulle, retourne sa valeur, sinon la fixe à mot et revoie sa valeur.
${nomvar:?message}
But: intercepter les erreurs provenant de variable indéfinie.
Si nomvar existe et n'est pas nulle, retourne sa valeur, sinon affiche nomvar: suivi de message et annule la commande ou le script en cours.
${nomvar:+mot}
But: tester l'existence d'une variable
Si nomvar existe et n'est pas nulle, retourne mot, sinon renvoie null
${nomvar:décalage:longueur}
But: réalise un développement de sous chaine.
[modifier] Motifs et correspondance de motifs
${variable#motif}
Moins un motif au début.
${variable#motif}
Moins "x" motifs au début.
${variable%motif}
Moins un motif à la fin.
${variable%%motif}
Moins "x" motifs à la fin.
${variable/motif/chaine}
Exemple: supposons que la variable path contienne la valeur /home/cam/livre/nom.fichier.long
${path##/*/} donne comme résultat: nom.fichier.long ${path#/*/} donne comme résultat: cam/livre/nom.fichier.long $path donne comme résultat: /home/cam/livre/nom.fichier.long ${path%/*/} donne comme résultat: /home/cam/livre/nom.fichier ${path%%/*/} donne comme résultat: /home/cam/livre/nom