まあ、よくある話ですが、一部だけ異なるファイル(設定ファイルとか、、)を作るときに、テンプレートを用意して、変動する部分のみ変数で動的に変えたい、という話がありますよね。
テンプレートファイル名を変数INPUT, 置換後のファイル名を変数OUTPUTとすると、こんな感じでファイルの中身の変数部分を動的に置換できます。
test.sh
sh -c "cat <<EOF > $OUTPUT
`cat $INPUT`
EOF
"
たとえば、
template.txt
VAR1: $VAR1
VAR2: $VAR2 $VAR2
みたいなファイルを用意したとすると、
$ VAR1=aaa
$ VAR2=bbb
$ INPUT=template.txt
$ OUTPUT=output.txt
$ export INPUT OUTPUT VAR1 VAR2
$ sh test.sh
$ cat output.txt
VAR1: aaa
VAR2: bbb bbb
変数が置換されます。
何かの参考にどうぞ。