Объединение строк может быть важной частью использования любого языка программирования для практических приложений.
Вы также можете объединять строки в bash. Здесь нет оператора конкатенации. Просто напишите строки одну за другой, чтобы соединить строки в Bash.
concat_string="$str1$str2"
Не волнуйтесь! Мы покажем вам различные реальные примеры объединения строк в bash.
Назначение составных строк
В Bash нет таких типов данных, как в большинстве языков программирования. Но вы все равно можете объявлять переменные в Bash.
Вот как вы назначаете строки в Bash :
andreyex@Destroyer:~$ w='Добро пожаловать'
Вы можете использовать команду printf для вывода значения этой строковой переменной:
andreyex@Destroyer:~$ printf "$w\n" Добро пожаловать
Создадим еще несколько строк:
andreyex@Destroyer:~$ t='в' andreyex@Destroyer:~$ l='блог' andreyex@Destroyer:~$ h='AndreyEx!'
Мы хотим объединить все эти строковые переменные в одну. Как это сделать?
andreyex@Destroyer:~$ maxim="${w} ${t} ${l} ${h}"
Таким образом мы объединили все четыре строки в одну переменную и назвал ее tony. Обратите внимание, что мы добавили пробел между переменными.
Давайте быстро подтвердим, что строки были объединены:
andreyex@Destroyer:~$ printf "$maxim\n" Добро пожаловать в блог AndreyEx!
Вот все это в сценарии Bash:
#!/bin/bash w='Добро пожаловать' t='в' l='блог' h='AndreyEx' tony="${w} ${t} ${l} ${h}" printf "${tux}\n"
Сделайте его исполняемым и запустите как скрипт:
andreyex@Destroyer:~$ chmod +x concat.sh andreyex@Destroyer:~$ ./concat.sh Добро пожаловать в блог AndreyEx!
Добавить в строку в bash
В приведенном выше примере разные строки объединены в одну.
Возьмем другой сценарий. Скажем, вы хотите добавить к уже существующей строке. Как это сделать? Вы используете замечательный оператор + =.
str="iron" str+="man"
Вы можете угадать новое значение str? Да! Это так ironman.
andreyex@Destroyer:~$ str="iron" andreyex@Destroyer:~$ str+="man" andreyex@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"
Исполнение:
andreyex@Destroyer:~$ chmod +x morgan.sh andreyex@Destroyer:~$ ./morgan.sh Вы мои ангелы 3000!!!
Вложенная конкатенация строк
Вы также можете сохранить эти две сцепленные строки внутри третьей посредством вложенной конкатенации:
#!/bin/bash w='Добро пожаловать' t='To' l='Linux' h='AndreyEx' 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. Если у вас есть вопросы или предложения, не стесняйтесь оставлять комментарии ниже.