Bash handles variables as untyped data, meaning they can be used interchangeably as strings or numbers. Variables are assigned using the equals sign with no spaces (VAR=value). To reference a variable, use $ before its name ($VAR).
Common pitfalls include forgetting to quote variables in command arguments which may lead to word splitting or globbing if the variable contains whitespace or wildcards. Another pitfall is not initializing variables; an uninitialized variable defaults to an empty string, potentially causing unexpected behavior.