This question already has an answer here:
In Bash, when I do:
foo="*" echo $foo
* to the contents of the current folder. How do I make sure it just prints a literal
The same, by the way, happens with a regular
echo "$foo", it prints the contents of the current folder.