> For the complete documentation index, see [llms.txt](https://olexsyn.gitbook.io/enote/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://olexsyn.gitbook.io/enote/linux/bash/konkatenaciya-strok-v-bash.md).

# Конкатенация строк в Bash

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

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

Содержание

* [Объединение строк](https://routerus.com/bash-concatenate-strings/#%D0%9E%D0%B1%D1%8A%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D1%82%D1%80%D0%BE%D0%BA)
* [Объединение строк с помощью оператора + =](https://routerus.com/bash-concatenate-strings/#%D0%9E%D0%B1%D1%8A%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D1%82%D1%80%D0%BE%D0%BA_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0)

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

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

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

Последняя строка будет [отображать](https://routerus.com/echo-command-in-linux-with-examples/) объединенную строку:

```output
Hello, World
```

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

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

```output
Hello, World
```

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

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

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

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

```output
Hello, 2 Worlds
```

### Объединение строк с помощью оператора + =

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

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

```output
Hello, World
```

В следующем примере оператор `+=` для объединения строк в [цикле bash for](https://routerus.com/bash-for-loop/) :

languages.sh

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

echo "$VAR"
```

```output
Hydrogen Helium Lithium Beryllium
```
