Здравствуйте. Для маленького проекта понадобилось найти что-то вроде шаблонизарота на bash. Его я нашел, вот код:
#!/bin/bash
config_file='test.conf'
template_file='mytemplate'
myvar1='variable 1'
template=`cat ${template_file}`
eval "echo \"${template}\"" > ${config_file}
Код работает, проблем с ним нет. Однако, хотелось бы понять, как он работает.
Читал про eval - не совсем понял, почему он в данном случае работает так (в текст подставляет значение переменной). Также, не совсем понятно для чего после знакана переменной, а именно «$» имя переменной берут в фигурные скобки {}. Есть ли отличие от простого $var_name
Заранее спасибо.