Scripts need to hold values like file names, dates and arguments, and pass them between commands. Bash variables, quoting and command substitution do that. Use them whenever a script takes input, such as ./backup.sh /data, or builds a name like backup-$(date +%F).tar.gz. Quote "$var" by default, because an unquoted value with a space silently turns into two arguments.