GNU/Linux >> Linux Esercitazione >  >> Linux

Come concatenare stringhe in Bash

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.


Linux
  1. Come eseguire il debug di uno script Bash?

  2. Come confrontare le stringhe negli script di Bash Shell

  3. Come valutare le stringhe come numeri in Bash

  4. Come concatenare stringhe in Bash

  5. Come confrontare due stringhe nel formato della versione separata da punti in Bash?

Bash concatena le stringhe

Come leggere un file riga per riga in Bash

Come confrontare le stringhe in Bash

Come usare bash if -z e if -n per testare le stringhe in Linux

Come eseguire uno script Bash

Come impostare la variabile d'ambiente in Bash