GNU/Linux >> Tutoriels Linux >  >> Linux

Comment concaténer des chaînes dans Bash

La concaténation de chaînes peut être une partie importante de l'utilisation de n'importe quel langage de programmation pour des applications pratiques.

Vous pouvez également concaténer des chaînes dans bash. Il n'y a pas d'opérateur de concaténation ici. Écrivez simplement les chaînes les unes après les autres pour joindre des chaînes dans Bash.

concat_string="$str1$str2"

Ne vous inquiétez pas! Je vais vous montrer divers exemples réels pour concaténer des chaînes dans bash.

Assigner des chaînes concaténées

Il n'y a pas de types de données dans Bash comme vous en avez dans la plupart des langages de programmation. Mais vous pouvez toujours déclarer des variables dans Bash.

Voici comment vous affectez des chaînes dans Bash :

[email protected]:~$ w='Welcome'

Vous pouvez utiliser la commande printf pour imprimer la valeur de cette variable chaîne :

[email protected]:~$ printf "$w\n"
Welcome

Créons d'autres chaînes :

[email protected]:~$ t='To'
[email protected]:~$ l='Linux'
[email protected]:~$ h='Handbook!'

Je veux combiner toutes ces variables de chaîne en une seule. Comment faire ?

[email protected]:~$ tony="${w} ${t} ${l} ${h}"

De cette manière, j'ai concaténé les quatre chaînes en une seule variable et l'ai nommée tony . Notez que j'ai ajouté un espace entre les variables.

Confirmons rapidement que les chaînes ont été combinées :

[email protected]:~$ printf "$tony\n"
Welcome To Linux Handbook!

Voici tout cela dans un script Bash :

#!/bin/bash
w='Welcome'
t='To'
l='Linux'
h='Handbook'
tony="${w} ${t} ${l} ${h}"
printf "${tony}\n"

Rendez-le exécutable et exécutez-le en tant que script :

[email protected]:~$ chmod +x concat.sh
[email protected]:~$ ./concat.sh
Welcome To Linux Handbook!
Les accolades {} autour des noms de variables ne sont pas obligatoires lors de la concaténation des chaînes. Cependant, pour clarifier les choses et les protéger des caractères environnants, il est recommandé de les envelopper dans {}.

Ajouter à la chaîne dans bash

L'exemple ci-dessus combine différentes chaînes en une seule.

Prenons un autre scénario. Supposons que vous souhaitiez ajouter à une chaîne déjà existante. Comment faire ça? Vous utilisez le merveilleux opérateur +=.

str="iron"
str+="man"

Pouvez-vous deviner la nouvelle valeur de str ? Oui! C'est ironman .

[email protected]:~$ str="iron"
[email protected]:~$ str+="man"
[email protected]:~$ echo $str
ironman

Ceci est utile lorsque vous utilisez des boucles dans bash. Prenons cette boucle for par exemple :

#!/bin/bash

var=""
for color in 'Black' 'White' 'Brown' 'Yellow'; do
  var+="${color} "
done

echo "$var"

Si vous exécutez le script ci-dessus, il sera ajouté à la chaîne après chaque itération.

Black White Brown Yellow

Concaténer des nombres et des chaînes

Comme je l'ai mentionné précédemment, il n'y a pas de types de données dans Bash. Les chaînes et les entiers sont identiques et peuvent donc être facilement joints en une seule chaîne.

Prenons un autre exemple à travers un second script. Cette fois, je vais utiliser un nombre :

#!/bin/bash
we='We'
lv='Love'
y='You'
morgan=3000
stark="${we} ${lv} ${y} ${morgan}!!!"
printf "${stark}\n"

Exécution :

[email protected]:~$ chmod +x morgan.sh
[email protected]:~$ ./morgan.sh
We Love You 3000!!!

Concaténation imbriquée de chaînes

Vous pouvez également stocker ces deux chaînes concaténées dans une troisième grâce à la concaténation imbriquée :

#!/bin/bash
w='Welcome'
t='To'
l='Linux'
h='Handbook'
tony="${w} ${t} ${l} ${h}"
we='We'
lv='Love'
y='You'
morgan=3000
stark="${we} ${lv} ${y} ${morgan}!!!"
ironman="${tony}..${stark}"
printf "${ironman} Forever!\n"

Lorsque vous exécutez ce script shell, vous verrez cette sortie :

Welcome To Linux Handbook..We Love You 3000!!! Forever!

Conclusion

Si vous débutez dans les scripts shell, je vous recommande vivement notre série de tutoriels Bash pour les débutants.

J'espère que ce petit tutoriel rapide vous a aidé à concaténer des chaînes bash. Si vous avez des questions ou des suggestions, n'hésitez pas à laisser un commentaire ci-dessous.


Linux
  1. Comment déboguer un script bash ?

  2. Comment détecter Bash>=4.0 ?

  3. Comment comparer des chaînes dans les scripts shell bash

  4. Comment évaluer les chaînes en tant que nombres dans Bash

  5. Comment concaténer des chaînes dans Bash

Chaînes de concaténation bash

Comment lire un fichier ligne par ligne dans Bash

Comment comparer des chaînes dans Bash

Comment utiliser bash if -z et if -n pour tester des chaînes sous Linux

Comment exécuter un script bash

Comment définir une variable d'environnement dans Bash