Script Bash – Comment concaténer des chaînes de caractères ?
Sommaire
I. Présentation
Dans ce tutoriel, nous allons apprendre à concaténer des chaînes de caractères dans un script Bash. La concaténation consiste à joindre au moins deux chaînes de caractères ensemble pour former une seule chaîne. Autrement dit, c'est comme s'il y avait une fusion entre deux chaînes de caractères, qui peuvent être représentées par des variables. Ceci est utile pour former des identifiants à partir d'informations personnelles, pour constituer des chemins de fichiers, etc.
Pour rappel, voici le lien vers notre introduction au Bash :
II. Bash : concaténer des chaînes de caractères
La méthode la plus simple pour concaténer des valeurs en Bash est d'utiliser de juxtaposer les deux variables, en ajoutant un espace entre le nom des valeurs variables. Sinon, les deux valeurs seront collées.
Dans ce script, les variables "prenom" et "nom" contiennent respectivement les chaînes "Florian" et "Burnel". À partir de ces deux valeurs, nous allons constituer le nom complet et le stocker dans la variable "nomcomplet".
prenom="Florian"
nom="Burnel"
nomcomplet="$prenom $nom"
Si nous affichons le contenu de la variable "nomcomplet", nous obtenons le résultat attendu.
echo $nomcomplet
Florian Burnel
Voilà comment concaténer deux chaînes de caractères (string) en Bash !
Remarque : que vous souhaitez concaténer 2 valeurs, 3 valeurs, 4 valeurs, etc.... la syntaxe reste la même ! Il suffit de spécifier les bons noms de variables.
III. Bash : concaténer des variables et du texte
Vous pouvez également concaténer des variables avec des chaînes de caractères pour créer des messages dynamiques.
Voici un exemple où nous allons intégrer le nom et le prénom dans une phrase.
prenom="Florian"
nom="Burnel"
message="Bonjour, $prenom $nom ! Bienvenue sur IT-Connect !"
echo $message
Dans la phrase retournée par la commande echo, les variables "prenom" et "nom" sont bien remplacées par leur valeur respective. Ci-dessous, le résultat obtenu en image :
Si vous souhaitez que la valeur de la variable et le texte soient concaténés sans inclure un espace, vous devrez adapter la syntaxe. En effet, si nous voulons concaténer la variable "prenom" avec le texte "_ITConnect", de façon à faire une seule chaine sans espace, Bash va croire que la variable se nomme "prenom_ITConnect". Ceci implique de préciser le nom de la variable entre "${}". Donc, voici la syntaxe à utiliser :
prenom="Florian"
texte="${prenom}_ITConnect"
Voici le résultat obtenu :
IV. Bash : concaténer des valeurs pour constituer un chemin
Nous allons voir comment concaténer des valeurs pour constituer un chemin complet vers un fichier. Nous avons 3 variables pour définir le dossier racine, le sous-dossier ainsi que le nom du fichier.
BaseDir="/home/flo"
SubDir="Documents"
Filename="itconnect.txt"
Nous allons concaténer ces variables pour créer un chemin complet. Ceci n'est pas plus compliqué que de concaténer deux chaines quelconques.
Path="$BaseDir/$SubDir/$Filename"
echo "Chemin complet : $Path"
Suite à l'exécution de ces lignes, la variable "Path" contient le chemin complet attendu, à savoir "/home/flo/Documents/itconnect.txt".
V. Conclusion
La concaténation de valeurs est une opération simple, mais en même temps indispensable ! Lors de l'écriture de scripts Bash, il est très fréquent d'avoir besoin de concaténer des chaînes de caractères ! Le meilleur exemple est certainement la génération de messages dynamiques destinés à alimenter un fichier de log ou à être affichés dans la console.
Pour approfondir le sujet, vous pouvez consulter nos tutoriels Bash en utilisant le lien ci-dessous, ou consulter cette page :