Bash / Sh como um mecanismo de template

Arquivo de modelo de amostra:

Username: ${user}

Uso:

#!/bin/sh

# render a template configuration file
# preserve formatting
# expand variables
render_template
() {
eval "echo "$(cat $1)""""
}

user
=""Gregory""
render_template
/path/to/template.txt > path/to/configuration_file

Substituirá ${user}por “”Gregory”” no template