В Bash существует несколько методов определения многострочных строк с использованием синтаксиса heredoc. Вот несколько примеров:
Метод 1: использование одного разделителя Heredoc
#!/bin/bash
# Method 1
multiline_string=$(cat << EOF
This is a multiline string.
It can span multiple lines.
EOF
)
echo "$multiline_string"
Метод 2. Использование одного разделителя Heredoc без табуляции
#!/bin/bash
# Method 2
multiline_string=$(cat <<- EOF
This is a multiline string.
It can span multiple lines.
EOF
)
echo "$multiline_string"
Метод 3. Использование нескольких разделителей Heredoc
#!/bin/bash
# Method 3
multiline_string=$(cat << EOF
This is a multiline string.
It can span multiple lines.
EOF
)
echo "$multiline_string"
Во всех трех методах многострочная строка заключена между разделителями <<и EOF. Вместо EOFвы можете использовать любое слово; это обычно используется как соглашение. Строка между разделителями может занимать несколько строк, при этом в выводе сохраняются ведущие табуляции или пробелы.