Say you have a text file with variables or commands in it:
Today is $(date). I have $n things to do.
Store text file contents in a variable and expand variables and commands in the text with:
# Init variables n=25 # Store file in a variable text="$(echo EOF;cat $filename;echo EOF)" # Expand text (and print it to stdout) eval "cat <<$text"
That’s it! You will see something like:
Today is Thu Oct 15 12:04:56 JST 2015. You have 25 things to do.
Note, that without
echo EOF bash will use first line of text as a limit string for heredoc.