Принуждение bash к расширению переменных в строке, загруженной из файла

Я пытаюсь понять, как заставить bash (принудительно?) расширять переменные в строке (которая была загружена из файла).

У меня есть файл с именем "something.txt" с содержимым:

hello $FOO world

Затем я запускаю

export FOO=42
echo $(cat something.txt)

это возвращает:

   hello $FOO world

Он не расширил $FOO, хотя переменная была установлена. Я не могу eval или source файл - так как он попытается его выполнить (он не является исполняемым, как есть - я просто хочу строку с интерполированными переменными).

Есть идеи?

75
задан Michael Neale 21 May 2012 в 10:13
поделиться