Substitution de variables

De Linuxmemo.

(Différences entre les versions)
(valeur par défaut)
Ligne 9 : Ligne 9 :
  ${variable:=valeur}
  ${variable:=valeur}
 +
==message d'erreur==
 +
un message d'erreur plutôt que de donner une valeur par défaut lorsqu'une variable n'est pas définie.
 +
${variable:?message}
 +
 +
==tester==
 +
tester si une variable est non définie et renvoyer une valeur spécifique si elle est définie
 +
${variable:+valeur}
 +
 +
 +
==recherche et de remplacement==
 +
recherche et de remplacement du shell dans les chaînes de caractères contenues dans des variables
 +
${variable/motif/remplacement}
 +
Ce remplacement n'est donc effectué qu'une seule fois. Si l'on veut que toutes les occurrences du motif soient remplacées par la chaîne de remplacement, il suffit de doubler le premier / :
 +
${variable//motif/remplacement}
==Astuces==
==Astuces==
  for i in $(ls *.m4a);do avconv -i $i ${i/.m4a/.mp3} ;done
  for i in $(ls *.m4a);do avconv -i $i ${i/.m4a/.mp3} ;done

Version du 25 novembre 2017 à 21:55

sources: http://casteyde.christian.free.fr/system/linux/guide/online/x3679.html

Sommaire

valeur par défaut

valeur par défaut pour le cas où cette variable ne contient rien ou n'est pas définie

${variable:-valeur}

Notez que la variable reste indéfinie après la substitution.

Pour fixer la valeur de la variable à cette valeur par défaut en plus d'effectuer la substitution

${variable:=valeur}

message d'erreur

un message d'erreur plutôt que de donner une valeur par défaut lorsqu'une variable n'est pas définie.

${variable:?message}

tester

tester si une variable est non définie et renvoyer une valeur spécifique si elle est définie

${variable:+valeur}


recherche et de remplacement

recherche et de remplacement du shell dans les chaînes de caractères contenues dans des variables

${variable/motif/remplacement}

Ce remplacement n'est donc effectué qu'une seule fois. Si l'on veut que toutes les occurrences du motif soient remplacées par la chaîne de remplacement, il suffit de doubler le premier / :

${variable//motif/remplacement}

Astuces

for i in $(ls *.m4a);do avconv -i $i ${i/.m4a/.mp3} ;done
Outils personnels