Chaque fois que vous apprenez un langage de programmation, l’une des premières choses qu’on vous demandera probablement de faire est de contacter des variables de chaîne. La concaténation peut sembler être un mot complexe, mais ce n’est qu’un jargon pour “joindre” ou “ajouter” des variables les unes aux autres. Dans Bash, vous pouvez concaténer deux ou plusieurs littéraux de chaîne et variables de plusieurs manières différentes.
Concaténation de chaînes : le moyen le plus simple
Si vous souhaitez concaténer deux chaînes ou variables, le moyen le plus simple de le faire dans bash consiste à écrire les variables l’une après l’autre, comme indiqué ci-dessous.
VAR1="Hello"
VAR2="World"
VAR3="$VAR1 $VAR2"
echo $VAR3
Nous enveloppons la chaîne concaténée entre guillemets car il est généralement considéré comme une bonne pratique d’envelopper les extensions de variables en tant que telles.
La sortie résultante sera :
# echo prints the resulting string variable VAR3
Hello World
Concaténation de chaînes avec des chaînes littérales
Si vous souhaitez joindre deux chaînes dont l’une est un littéral et l’autre une variable, vous pouvez le faire en suivant un modèle similaire à celui décrit ci-dessus.
Par exemple:
VAR1="Hello"
VAR2="${VAR1} World"
echo $VAR2
Pour délimiter la différence entre la variable et un littéral de chaîne, nous incluons la variable VAR1
en accolades. La sortie résultante sera,
Hello World
Concaténation de plusieurs variables
Cette méthode fonctionne également pour joindre plusieurs variables. Placez simplement les variables les unes après les autres dans l’ordre dans lequel vous les voulez et affectez la chaîne résultante à une nouvelle variable.
VAR1="The"
VAR2="quick brown"
VAR3="lazy dog"
VAR4="${VAR1} ${VAR2} fox jumped over the ${VAR3}"
echo $VAR4
Production:
The quick brown fox jumped over the lazy dog
Concaténer des nombres et des chaînes
Cette méthode est également utile si vous souhaitez joindre une variable chaîne avec un nombre.
VAR1=2
VAR2="quick brown"
VAR3="lazy dog"
VAR4="${VAR1} ${VAR2} foxes jumped over the ${VAR3}"
echo $VAR4
Production:
2 quick brown foxes jumped over the lazy dog
Bash traite une variable numérique ou un littéral comme une chaîne en fonction du contexte, comme dans ce cas.
Concaténation de chaînes avec The +=
Opérateur
À partir de la version 3.1 de Bash, une deuxième méthode peut être utilisée pour concaténer des chaînes en utilisant le +=
opérateur. L’opérateur est généralement utilisé pour ajouter des nombres et des chaînes, et d’autres variables à une variable existante.
VAR1="Hello"
VAR2="World"
VAR1+=" ${VAR2}"
echo VAR1
Production:
Hello World
Dans cette méthode, le +=
est essentiellement un raccourci pour dire “ajouter ceci à ma variable existante”.
Ajout de chaînes numériques
Cette méthode fonctionne aussi bien sur les chaînes numériques.
a=5
a+=6
echo $a
Production:
56
Si à la place, vous vouliez traiter ceci comme une expression numérique, vous devriez l’envelopper dans $(( ))
expansion arithmétique.
NUM=5
x=6
(( NUM += x ))
echo $NUM
Production:
11
Ajout de chaînes dans une boucle
Dans un cas d’utilisation plus complexe, vous souhaiterez peut-être parcourir un ensemble de variables ou de littéraux et les concaténer pour former une seule chaîne. Vous pouvez le faire en utilisant un for
boucle.
VAR=""
for CITY in 'London' 'Paris' 'New York'; do
VAR+="${CITY} "
done
echo $VAR
Production:
London Paris New York