The Bash environment can be configured globally and on a per user basis. Various configuration files are used to fine-tune the behavior of the shell.
These files contain shell options, settings for variables, function definitions and various other building blocks for creating ourselves a cosy environment.
Except for the reserved Bourne shell, Bash and special parameters, variable names can be chosen more or less freely.
Because a lot of characters have double or even triple meanings, depending on the environment, Bash uses a system of quoting to take away special meaning from one or multiple characters when special treatment is not wanted.
Bash uses various methods of expanding command line entries in order to determine which commands to execute.