Поиск по сайту:
Когда обезьяна расхохоталась, увидев себя в зеркале, родился человек (Ежи Лец).

Конкатенации Строк в Bash

23.03.2019

Одной из наиболее часто используемых строковых операций является конкатенация. Конкатенация строк – это просто причудливое программирующее слово для объединения строк путем добавления одной строки в конец другой.

В этой статье мы объясним, как объединять строки в Bash.

 

Самый простой способ объединить две или более строковые переменные – записать их одну за другой:

VAR1="Hello,"
VAR2=" World"
VAR3="$VAR1$VAR2"
echo "$VAR3"
Hello, World

 

Вы также можете объединить одну или несколько переменных с литеральными строками:

VAR1="Hello,"
VAR2="${VAR1}World"
echo "$VAR2"
Hello, World

 

В приведенном выше примере переменная VAR1 заключена в фигурные скобки для защиты имени переменной от окружающих символов. Когда за переменной следует другой допустимый символ имени переменной, вы должны заключить его в фигурные скобки ${VAR1}.

Чтобы избежать каких-либо проблем с разделением слов или глобализацией, вы всегда должны пытаться использовать двойные кавычки вокруг имени переменной. Если вы хотите подавить интерполяцию переменных и специальную обработку символа обратной косой черты вместо двойных, используйте одинарные кавычки.

Bash не разделяет переменные по «типу», переменные обрабатываются как целое число или строка в зависимости от контекста. Вы также можете объединить переменные, которые содержат только цифры.

VAR1="Hello, "
VAR2=2
VAR3=" Worlds"
VAR4="$VAR1$VAR2$VAR3"
echo "$VAR4"
Hello, 2 Worlds

Другой способ объединения строк в bash – добавление переменных или литеральных строк к переменной с помощью оператора +=:

VAR1="Hello, "
VAR1+=" World"
echo "$VAR1"
Hello, World

 

В следующем примере используется оператора += для объединения строк в цикле bash for :

languages.sh
VAR=""
for ELEMENT in 'Hydrogen' 'Helium' 'Lithium' 'Beryllium'; do
  VAR+="${ELEMENT} "
done

echo "$VAR"
Hydrogen Helium Lithium Beryllium

Конкатенация строковых переменных является одной из самых фундаментальных операций в скриптах Bash. Прочитав эту статью, вы должны хорошо понимать, как объединять строки в Bash.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Sergey

Это полезная статься, но тут следует добавить информацию о том как брать подстоку или имя файла без расширения.

${VAR:pos} – подстрока с позиции pos
${VAR:pos:len} – подстрока с позиции pos длинной length
и
В следующих операциях Pattern это выражение в формате glob – * – любая последовательность символов, ? – один символ.
${VAR/Pattern/Replacement} – замена первого вхождения Pattern на Replacement, если Replacement отсутствует, то Pattern удаляется
${VAR//Pattern/Replacement} – глобальная замена
$(VAR#Pattern} – удаление минимальной строки, соответствующей Pattern в начале строки (удаление префикса)
$(VAR##Pattern} – удаление максимальной строки, соответствующей Pattern в начале строки
$(VAR%Pattern} – удаление минимальной строки, соответствующей Pattern в конце строки (удаление суффикса)
$(VAR%%Pattern} – удаление максимальной строки, соответствующей Pattern в конце строки

Пример:
VAR=”file.test.txt”
echo ${VAR#file*.} => test.txt
echo ${VAR##file*.} => txt
echo ${VAR%.*} => file.test
echo ${VAR%%.*} => file

Читайте также

Спасибо!

Теперь редакторы в курсе.