Ответ 1
Вы можете отключить расширение параметров в здесь документах, указав строку ограничения:
cat >aBashScript.sh <<'EOL'
$name
EOL
Я хотел бы сделать следующее в bash, но без интерполяции переменных:
cat >aBashScript.sh <<EOL
$name
EOL
Файл должен содержать $name
, но вместо этого он пустой. Как это сделать?
Вы можете отключить расширение параметров в здесь документах, указав строку ограничения:
cat >aBashScript.sh <<'EOL'
$name
EOL
Вам нужно уйти от знака доллара, просто префикс его с обратной косой чертой, чтобы избежать его так:
cat >aBashScript.sh <<EOL
\$name
EOL
Или отключить цитирование, как предположил Майкл.