Bash Configurations Demystified
Bash configurations on Linux and macOS can be confusing for many people, myself included. I’ve written this short guide to remind you and me both of a reasonable set of conventions you could follow.
Login Shell vs. Non-login Shell
When logging in via the console (e.g., an SSH session, the scary console login after you’ve messed up your GUI settings, etc.), you are starting a login shell. If you open a terminal application (e.g., xterm, etc.) from your desktop, then you are starting a non-login shell (except on macOS, discussed later).