Substitution de variables Substitution:de variables

ksh

bash

La substitution 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. Manipulation de chaînes de caractères

Les fonctionnalités présentées ci-dessous permettent de manipuler la valeur contenue dans une variable.

Le contenu de la variable n’est jamais modifié.

a. Retirer le plus petit fragment à gauche Variable:retirer le plus petit fragment à gauche

Syntaxe

${variable#modele} 

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 partant de la gauche".

Exemple

Afficher la variable ligne sans son premier champ :

$ ligne="champ1:champ2:champ3" 
$ echo ${ligne#*:} 
champ2:champ3 

b. Retirer le plus grand fragment à gauche Variable:retirer le plus grand fragment à gauche

Syntaxe

${variable##modèle} 

Les caractères ## signifient "Chaîne...

Pour consulter la suite, découvrez le livre suivant :
couv_EI6PRO.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Comparatif des variables $* et $@
Suivant
Tableaux