La concatenazione di stringhe può essere una parte importante dell'utilizzo di qualsiasi linguaggio di programmazione per applicazioni pratiche.
Puoi anche concatenare stringhe in bash. Non c'è nessun operatore di concatenazione qui. Basta scrivere le stringhe una dopo l'altra per unire le stringhe in Bash.
concat_string="$str1$str2"
Non preoccuparti! Ti mostrerò vari esempi reali per concatenare stringhe in bash.
Assegnazione di stringhe concatenate
Non ci sono tipi di dati in Bash come nella maggior parte dei linguaggi di programmazione. Ma puoi ancora dichiarare variabili in Bash.
Ecco come assegnare le stringhe in Bash:
[email protected]:~$ w='Welcome'
Puoi usare il comando printf per stampare il valore di questa variabile stringa:
[email protected]:~$ printf "$w\n"
Welcome
Creiamo altre stringhe:
[email protected]:~$ t='To'
[email protected]:~$ l='Linux'
[email protected]:~$ h='Handbook!'
Voglio combinare tutte queste variabili stringa in una sola. Come farlo?
[email protected]:~$ tony="${w} ${t} ${l} ${h}"
In questo modo, ho concatenato tutte e quattro le stringhe in un'unica variabile e l'ho chiamata tony
. Nota che ho aggiunto uno spazio tra le variabili.
Confermiamo rapidamente che le stringhe sono state combinate:
[email protected]:~$ printf "$tony\n"
Welcome To Linux Handbook!
Ecco tutto in uno script Bash:
#!/bin/bash
w='Welcome'
t='To'
l='Linux'
h='Handbook'
tony="${w} ${t} ${l} ${h}"
printf "${tony}\n"
Rendilo eseguibile ed eseguilo come script:
[email protected]:~$ chmod +x concat.sh
[email protected]:~$ ./concat.sh
Welcome To Linux Handbook!
Le parentesi graffe {} attorno ai nomi delle variabili non sono obbligatorie durante la concatenazione delle stringhe. Tuttavia, per chiarire le cose e proteggerlo dai personaggi circostanti, è buona norma avvolgerli in {}. Aggiungi alla stringa in bash
L'esempio precedente combina diverse stringhe in una.
Prendiamo un altro scenario. Supponiamo di voler aggiungere una stringa già esistente. Come farlo? Usi il meraviglioso operatore +=.
str="iron"
str+="man"
Riesci a indovinare il nuovo valore di str
? Sì! È ironman
.
[email protected]:~$ str="iron"
[email protected]:~$ str+="man"
[email protected]:~$ echo $str
ironman
Questo è utile quando usi i loop in bash. Prendi questo per esempio:
#!/bin/bash
var=""
for color in 'Black' 'White' 'Brown' 'Yellow'; do
var+="${color} "
done
echo "$var"
Se esegui lo script precedente, verrà aggiunto alla stringa dopo ogni iterazione.
Black White Brown Yellow
Concatena numeri e stringhe
Come accennato in precedenza, non ci sono tipi di dati in Bash. Stringhe e numeri interi sono gli stessi e quindi possono essere facilmente uniti in un'unica stringa.
Diamo un'occhiata a un altro esempio attraverso un secondo script. Questa volta userò un numero:
#!/bin/bash
we='We'
lv='Love'
y='You'
morgan=3000
stark="${we} ${lv} ${y} ${morgan}!!!"
printf "${stark}\n"
Esecuzione:
[email protected]:~$ chmod +x morgan.sh
[email protected]:~$ ./morgan.sh
We Love You 3000!!!
Concatenazione annidata di stringhe
Puoi anche archiviare queste due stringhe concatenate all'interno di una terza tramite la concatenazione nidificata:
#!/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"
Quando esegui questo script di shell, vedrai questo output:
Welcome To Linux Handbook..We Love You 3000!!! Forever!
Conclusione
Se non conosci lo scripting della shell, consiglio vivamente la nostra serie di tutorial Bash per i principianti.
Spero che questo breve tutorial ti abbia aiutato a concatenare le stringhe bash. Se hai domande o suggerimenti, sentiti libero di lasciare un commento qui sotto.