Variable operateurs chaines

De Linuxmemo.

(Différences entre les versions)
(Motifs et correspondance de motifs)
 
(Une version intermédiaire masquée)
Ligne 50 : Ligne 50 :
  ${variable/motif/chaine}
  ${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

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