GNU/Linux >> Znalost Linux >  >> Linux

Jak zřetězit řetězce v Bash

Zřetězení řetězců může být důležitou součástí použití jakéhokoli programovacího jazyka pro praktické aplikace.

Řetězce můžete zřetězit i v bash. Není zde žádný operátor zřetězení. Stačí napsat řetězce jeden po druhém a spojit řetězce v Bash.

concat_string="$str1$str2"

Nebojte se! Ukážu vám různé skutečné příklady zřetězení řetězců v bash.

Přiřazení zřetězených řetězců

V Bash nejsou žádné datové typy jako ve většině programovacích jazyků. Ale stále můžete deklarovat proměnné v Bash.

Zde je návod, jak přiřadit řetězce v Bash:

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

Pomocí příkazu printf můžete vytisknout hodnotu této řetězcové proměnné:

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

Vytvoříme další řetězce:

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

Chci zkombinovat všechny tyto řetězcové proměnné do jediné. Jak to udělat?

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

Tímto způsobem jsem zřetězil všechny čtyři řetězce do jediné proměnné a nazval ji tony . Všimněte si, že jsem mezi proměnné přidal mezeru.

Pojďme rychle potvrdit, že řetězce byly zkombinovány:

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

Zde je vše ve skriptu Bash:

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

Vytvořte jej spustitelný a spusťte jej jako skript:

[email protected]:~$ chmod +x concat.sh
[email protected]:~$ ./concat.sh
Welcome To Linux Handbook!
Složené závorky {} kolem názvů proměnných nejsou při zřetězení řetězců povinné. Aby však byly věci jasné a chránily je před okolními postavami, je dobré je zabalit do {}.

Připojit k řetězci v bash

Výše uvedený příklad kombinuje různé řetězce do jednoho.

Vezměme si jiný scénář. Řekněme, že chcete připojit k již existujícímu řetězci. Jak to udělat? Používáte nádherný operátor +=.

str="iron"
str+="man"

Dokážete uhodnout novou hodnotu str ? Ano! Je to ironman .

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

To je užitečné, když používáte smyčky v bash. Vezměte si například tuto smyčku for:

#!/bin/bash

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

echo "$var"

Pokud spustíte výše uvedený skript, připojí se k řetězci po každé iteraci.

Black White Brown Yellow

Zřetězení čísel a řetězců

Jak jsem již zmínil, v Bash nejsou žádné datové typy. Řetězce a celá čísla jsou stejná, a proto je lze snadno spojit do jednoho řetězce.

Podívejme se na další příklad prostřednictvím druhého skriptu. Tentokrát použiji číslo:

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

Provedení:

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

Vnořené zřetězení řetězců

Tyto dva zřetězené řetězce můžete také uložit do třetího pomocí vnořeného zřetězení:

#!/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"

Když spustíte tento skript shellu, uvidíte tento výstup:

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

Závěr

Pokud jste se skriptováním v shellu noví, vřele doporučuji naši sérii výukových programů Bash pro začátečníky.

Doufám, že vám tento krátký návod pomohl při zřetězení bash strun. Máte-li dotazy nebo návrhy, neváhejte zanechat komentář níže.


Linux
  1. Jak ladit Bash skript?

  2. Jak zjistit Bash>=4.0?

  3. Jak porovnat dva řetězce ve formátu verze oddělené tečkami v Bash?

  1. Jak používat příkazy historie Bash

  2. Jak napsat smyčku v Bash

  3. Bash - Jak tisknout víceřádkové řetězce (s '\n') pomocí printf

  1. Jak zkrátit Bash Prompt v Linuxu?

  2. Jak porovnávat řetězce ve skriptování Bash Shell

  3. Jak vyhodnotit řetězce jako čísla v Bash