Concaténer des chaînes dans Bash : comment joindre des chaînes


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

Leave a Comment