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
Outils personnels