Variable operateurs chaines
De Linuxmemo.
[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