Есть большое количество железок, в которые нужно залить конфиг. Хотелось создать дефолтный конфиг с именами переменных, считывать этот конфиг и налету подставлять значения переменных.
Думал, что будет просто, но вот подиж ты...
В общем, есть примерно такой файл с конфигом:
hostname ${DEVICE_NAME}
vlan "${VLAN1}"
name VLAN1
!
vlan ${VLAN2}
name VLAN2
Хотел его читать построчно и выводить в консоль, думая, что текст ${DEVICE_NAME} будет заменяться на значение переменной ${DEVICE_NAME}, определённой в скрипте.
Читаю вот так:
while read line
do
echo $line
done < default.cfg
Но выводится именно содержимое дефолтного конфига, без замены имён переменных на значения переменных.
sed-ом лезть в файл не хочется.