Вы можете заставить "кошачью" вещь работать, используя некоторую мерзость:
eval "$ (printf 'cat << END \ n% s \ nEND'" $ (<foo) ")" </p>
Где "foo" - это файл, содержащий ваш текст, из которого вы хотите расширить параметры bash. Это решение в основном просто конвертирует текст в документ здесь, который расширяет параметры bash.
cat <<END
[your text]
END
Ограничения:
У вас не может быть строки с просто «END» в текстовом файле, иначе решение не удастся. Он будет думать, что строка с «END» в текстовом файле заканчивает документ здесь, а не «END» в команде printf, и вывод завершится рано.
ТВН:
Это то, что вы просто не должны делать . Если вы хотите создавать файлы шаблонов, найдите систему шаблонов, созданную для этого. Вы не должны насиловать Баша на то, что он не создан. Это язык сценариев, а не система шаблонов. Он создан для синтаксического анализа сценариев с четко определенным синтаксисом, а не произвольных текстовых файлов.