How Bash evaluates commands at the shell prompt – slashprog.com