Как объединить строки в Bash

Объединение строк может быть важной частью использования любого языка программирования для практических приложений.

Вы также можете объединять строки в bash. Здесь нет оператора конкатенации. Просто напишите строки одну за другой, чтобы соединить строки в Bash.

concat_string="$str1$str2"

Не волнуйтесь! Мы покажем вам различные реальные примеры объединения строк в bash.

Назначение составных строк

В Bash нет таких типов данных, как в большинстве языков программирования. Но вы все равно можете объявлять переменные в Bash.

Вот как вы назначаете строки в Bash :

username@Destroyer:~$ w='Добро пожаловать'

Вы можете использовать команду printf для вывода значения этой строковой переменной:

username@Destroyer:~$ printf "$wn"

Добро пожаловать

Создадим еще несколько строк:

username@Destroyer:~$ t='в'

username@Destroyer:~$ l='блог'

username@Destroyer:~$ h='AndreyEx!'

Мы хотим объединить все эти строковые переменные в одну. Как это сделать?

username@Destroyer:~$ maxim="${w} ${t} ${l} ${h}"

Таким образом мы объединили все четыре строки в одну переменную и назвал ее tony. Обратите внимание, что мы добавили пробел между переменными.

Давайте быстро подтвердим, что строки были объединены:

username@Destroyer:~$ printf "$maximn"

Добро пожаловать в блог AndreyEx!

Вот все это в сценарии Bash:

#!/bin/bash

w='Добро пожаловать'

t='в'

l='блог'

h='Andrey'

tony="${w} ${t} ${l} ${h}"

printf "${tux}n"

Сделайте его исполняемым и запустите как скрипт:

username@Destroyer:~$ chmod +x concat.sh

username@Destroyer:~$ ./concat.sh

Добро пожаловать в блог AndreyEx!

Фигурные скобки {} вокруг имен переменных не являются обязательными при объединении строк. Однако, чтобы прояснить ситуацию и защитить ее от окружающих символов, рекомендуется заключить их в {}.

Добавить в строку в bash

В приведенном выше примере разные строки объединены в одну.

Возьмем другой сценарий. Скажем, вы хотите добавить к уже существующей строке. Как это сделать? Вы используете замечательный оператор + =.

str="iron"

str+="man"

Вы можете угадать новое значение str? Да! Это так ironman.

username@Destroyer:~$ str="iron"

username@Destroyer:~$ str+="man"

username@Destroyer:~$ echo $str

ironman

Это полезно, когда вы используете циклы в bash. Возьмем, к примеру, этот цикл for:

#!/bin/bash



var=""

for color in 'Black' 'White' 'Brown' 'Yellow'; do

  var+="${color} "

done



echo "$var"

Если вы запустите приведенный выше сценарий, он будет добавляться к строке после каждой итерации.

Black White Brown Yellow

Объединение чисел и строк

Как мы упоминали ранее, в Bash нет типов данных. Строки и целые числа одинаковы, поэтому их можно легко объединить в одну строку.

Давайте посмотрим на другой пример с помощью второго скрипта. На этот раз мы будем использовать номер:

#!/bin/bash

we='Вы'

lv='мои'

y='ангелы'

morgan=3000

stark="${we} ${lv} ${y} ${morgan}!!!"

printf "${stark}n"

Исполнение:

username@Destroyer:~$ chmod +x morgan.sh

username@Destroyer:~$ ./morgan.sh

Вы мои ангелы 3000!!!

Вложенная конкатенация строк

Вы также можете сохранить эти две сцепленные строки внутри третьей посредством вложенной конкатенации:

#!/bin/bash

w='Добро пожаловать'

t='To'

l='Linux'

h='Andrey'

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"

Когда вы запустите этот сценарий оболочки, вы увидите следующий вывод:

Добро пожаловать в блог AndreyEx..Мы Любим Тебя 3000!!! Forever!

Заключение

Мы надеемся, что эта небольшая статья помогло вам объединить строки bash. Если у вас есть вопросы или предложения, не стесняйтесь оставлять комментарии ниже.

Друзья помогите этому контенту стать доступнее в социальных сетях.

Не проходи мимо жмакни по кнопке возможно кому то еще он будет полезен!