Bash:variables

De Lowgeek wiki

Version du 5 mai 2015 à 12:03 par Erreur404 (discuter | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Bash.png

Le traitement des chaînes de caractères

Title2.png

Concaténation de chaînes de caractères

$ a=toto; b=tutu; c="$a et $b"; echo $c
toto et tutu


Title2.png

Supprime les 5 premiers caractères de la chaîne

$ fich="test.tar.gz" ; echo ${fich:5}
tar.gz


Title2.png

Extrait 3 caractères à partir du cinquième

$ fich="test.tar.gz" ; echo ${fich:5:3}
tar


Title2.png

Petit suffixe

Le signe « % » permet de supprimer le plus petit suffixe correspond à l’expression régulière :

$ fich="test.tar.gz" ; echo ${fich%.*}
test.tar


Title2.png

Grand suffixe

Le signe « %% » permet de supprimer le plus grand suffixe correspond à l’expression régulière :

$ fich="test.tar.gz" ; echo ${fich%%.*}
test


Title2.png

Petit préfixe

Le signe « # » permet de supprimer le plus petit préfixe correspond à l’expression régulière :

$ fich="test.tar.gz" ; echo ${fich#*.}
tar.gz


Title2.png

Grand préfixe

Le signe « ## » permet de supprimer le plus grand préfixe correspond à l’expression régulière :

$ fich="test.tar.gz" ; echo ${fich##*.}
gz


Title2.png

Remplace la première sous-chaîne trouvée par celle proposée

fich="test.tar.gz" ; echo ${fich/.tar.gz/.tgz}
test.tgz


Title2.png

Remplace toutes les sous-chaînes trouvées par celle proposée

fich="test.tar.gz.tar.gz" ; echo ${fich//.tar.gz/.tgz}
test.tgz.tgz


Title2.png

Longueur d'une chaîne

La commande suivante permet de retrouver la longueur d’une chaîne :

$ fich="test.tar.gz" ; echo ${#fich}
11


Title2.png

Nom d'une variable dans une variable

VAR="variable"
variable=toto
 
echo $VAR    # => variable  
echo ${!VAR} # => toto


Title2.png

Variables tableau

tableau=('valeur0' 'valeur1' 'valeur2')
tableau[5]='valeur5'
echo ${tableau[1]}
echo ${tableau[*]}

ou

tableau[toto]=/home/toto
tableau[titi]=/home/titi
echo ${!tableau[@]}
 
1 2

ou

tableau=( ["toto"]="/home/toto" ["titi"]="/home/toto" )


Title2.png

Conversion majuscule, minuscule

x="HELLO"
echo $x  # HELLO
y=${x,,}
echo $y  # hello
z=${y^^}
echo $z  # HELLO