Выбор ответа Middle Потоки и пайпы обновлено

Here-doc с кавычками

Вопрос

Чем отличается cat <<'EOF' от cat <<EOF?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: С кавычками переменные и $(...) внутри не подставляются. Если разделитель в кавычках, тело here-doc не обрабатывается: $HOME останется буквально.

Варианты ответа

  1. С кавычками переменные и $(...) внутри не подставляютсяправильный ответ
  2. Вариант с кавычками срезает ведущие табы в каждой строке
  3. Вариант без кавычек не поддерживает многострочный текст
  4. Никакой разницы: кавычки вокруг разделителя игнорируются

Разбор

Если разделитель в кавычках, тело here-doc не обрабатывается: $HOME останется буквально. Это то, что нужно для генерации скриптов и конфигов с $. Срезание табов делает <<-. Многострочность есть у обоих вариантов.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме