Мне нужно вывести некоторый текст как скрипт bash, но в сценарий. Для этого я использую кошку, но у нее есть один недостаток. Он интерпретирует переменные и прочее во время написания. Я хочу предотвратить это.Предотвратить bash от интерпретации без котировки всего
Как это сделать без котировки всех varibles (мой скрипт неудачно длинный)? Пример
cat >/tmp/script << EOF
$HOSTNAME
# lots of other stuff I do NOT want to escape like \$VARIABLE
# ...
EOF
cat /tmp/script
myhostname.mylan
Я хочу:
cat /tmp/script
$HOSTNAME
Edit: Обратите внимание, мой сценарий (здесь только $ HOSTNAME) очень долго, я не хочу, чтобы изменить все это. Также сингл со ссылкой не работает с < <
cat >/tmp/script '<< EOF
$HOSTNAME
EOF'
File not found: EOF'
Что трюк? Благодарю.
Может ли кто-нибудь сказать, почему это не интерпретируется в моем случае? '$ echo $ HOSTNAME' ->' myhost'; '$ echo \ $ HOSTNAME' ->' $ HOSTNAME'; '$ echo \ $ HOSTNAME>/tmp/s; cat/tmp/s' -> '$ HOSTNAME' –