DATE="1 week ago"
date --date='$DATE'
doesn't work. How can I get it to work?
I could do:
DATE_CMD="date --date='$DATE'"
eval $DATE_CMD
but I don't want to store the entire command in a variable.
You just need to use double-quotes to enable string interpolation:
date --date="$date"
You're a victim of quote expansion.
The proper invocation would likely be:
DATE='1 week ago'
date --date="$DATE"
(notice the double quotes)