Shell BASH
Opérateur « variable » : ${}
dimanche 5 juillet 2009
à l’intérieur de ${ ... }
nom:debut:longueur sous-chaine
#nom Longueur de la chaine
nom#motif Supprime le début de chaine (supression minimale)
nom##motif Supprime le début de chaine ( supression maximale)
nom%motif Supprime la fin de chaine ( supression minimale )
nom%%motif Supprime la fin de chaine (supression maximale )
nom/motif/chaine Remplace 1 occurence par chaine
nom//motif/chaine Remplace toute occurence par chaine SYNTAXE DE L’OPERATEUR ${} [1]
- La syntaxe
$var; - est une facilité de
${var};
L’ opérateur ${} doit répondre à une fonction : ’=’ (affectation), ’echo’, ’printf’ (affichage) ou ’ :’ = ne rien faire !( mais le faire !!! ).
- Ici il la commande ’ :’ ( ne fait rien ) est utile.
Utilisation des joker : * et ? et des classes de caractères [ ], + échappement : \* \ ? et \\ .
VARIABLES SCALAIRES
TRAITEMENTS DE CHAINE :
EXTRACTION :
${var:5:2} extraire 2 caractères à partir du N°5 (= le 6ème: 1er=N°0 ).
${var:12} extraire tout à partir du 13ème caractère.
${var#motif} variable amputée de motif -minimal- en début de chaine.
${var##motif} variable amputée de motif -maximal- en début de chaine.
${var%motif} variable amputée de motif -minimal- en fin de chaine.
${var%%motif} variable amputée de motif -maximal- en fin de chaine.REMPLACEMENT :
${var/motif/chaîne} renvoie var, en remplaçant motif -minimal- par chaîne.
${var//motif/chaîne renvoie var, en remplaçant motif -maximal- par chaîne.TRAITEMENT A PROPOS DE LA CHAINE :
${#var} Donne la longueur de la chaine.
${var:-valeur} Valeur par défaut: renvoie 'valeur', si var est vide ou indéfinie.
${var:=valeur} Contenu par défaut: Affecte 'valeur' à 'var', si var est vide ou indéfinie.Exemple pour ces 2 derniers traitements : - [2] - [3]
// a et b n'existent pas:
$ echo "1 ${a:-defaut} ${b:=assure}" && echo "2 a= ${a} ; b= ${b}"
1 defaut assure
2 a= ; b= assure
// a n'existe pas, b contient "assure"- $var : ?’message’ Renvoie ’message’ si la variable est vide ou indéfinie et interrompt. [4]
- $var :+’existe’ Renvoie ’existe’ si var est définie et non vide.
Exemple :
$ a='' ; echo 'Résultat:' && echo "${a:-vide}" && echo "a=$a" && echo "${a:=nouv}" && echo ${a:+'existe'} && echo ${#a}
Résultat:
vide
a=
nouv
existe
4[1] manipulation de variable , y compris sa lecture
[2] « - » remplace (provisoirement) la variable
[3] « = » affecte la variable
[4] die ?
Accueil du site |
Contact |
Plan du site
| Se connecter |
Statistiques du site |
Visiteurs :
109 /
11552
fr
GNU, LINUX, BSD, LL
AIDES GNU/LINUX
BASH
?


