Как я могу подавить расширение параметра в Here-Doc в Bash?

Я хотел бы сделать следующее в bash, но без интерполяции переменных:

cat >aBashScript.sh <<EOL
$name
EOL

Файл должен содержать $name, но вместо этого он пустой. Как это сделать?

Ответ 1

Вы можете отключить расширение параметров в здесь документах, указав строку ограничения:

cat >aBashScript.sh <<'EOL'
$name
EOL

Ответ 2

Вам нужно уйти от знака доллара, просто префикс его с обратной косой чертой, чтобы избежать его так:

cat >aBashScript.sh <<EOL
\$name
EOL

Или отключить цитирование, как предположил Майкл.