Manipulation de variables Manipulation:de variables
posix |
ksh |
bash |
La manipulation de variables a été abordée au chapitre Les bases de la programmation shell - Les variables utilisateur. Cette section présente de nouvelles fonctionnalités disponibles au niveau des shells bash et ksh.
1. Longueur de la valeur contenue dans une variable Variable:longueur Longueur d’une variable
Syntaxe
${#variable}
Exemple
$ var="ma chaine"
$ echo ${#var}
9
$
2. Retirer le plus petit fragment en début de chaîne Variable:retirer le plus petit fragment en début de chaîne
Syntaxe
${variable#modele}
où modele est une chaîne de caractères pouvant inclure les caractères spéciaux *, ?, [], ?(expression), +(expression), *(expression), @(expression), !(expression) (cf. chapitre Mécanismes essentiels du shell - Substitution de noms de fichiers).
Le caractère # signifie "Chaîne la plus courte possible en début de chaîne".
Exemple
Afficher la variable ligne sans son premier champ :
$ ligne="champ1:champ2:champ3"
$ echo ${ligne#*:}
champ2:champ3
L’expression " *: " signifie : 0 à n caractères suivis du caractère ":".
3. Retirer le plus grand fragment en début de chaîne Variable:retirer le plus grand fragmenten début de chaîne
Syntaxe
${variable##modèle}
Les caractères ## signifient "Chaîne la plus longue possible...