3 Ways to Customize Your Bash Shell
Invoking Bash and Start-Up Files
If you've ever tried to change system-wide bash settings, you know there are three major ways of invoking bash, all of which behave differently when reading in settings files.
1. Interactive login shell (e.g., when logging in from the console or via ssh)
2. Interactive non-login shell (e.g., when you run bash at a terminal prompt)
3. Non-interactive shell (e.g., to run a shell script)
An interactive shell has both input and output connected to a tty (usually the user's terminal). If you type echo $- and the value contains i, the shell is interactive. (The other letters are options passed in at invocation, or via the set builtin.) A login shell is started with the --loginoption. This is usually handled by whatever program you're using for...
Read the rest of this Linux Bash story at Serverwatch.com