| Login shells:
 On login (subject to the -noprofile option): if /etc/profile exists, source it.               
if ~/.bash_profile exists, source it,
          On exit:
        Non-login interactive shells:
        Non-interactive shells:
  | 
| $$ | The PID of the shell | 
| $! | The PID of the most recently executed background task | 
| $? | The staus of the most recently executed foreground task | 
| $0 | The name of the shell script currently running | 
| $PWD | The present working dir | 
| $UID | The user ID of the person running the script | 
| $EUID | The effective UID of the person running the script | 
| $RANDOM | A random number | 
| $SECONDS | The number of seconds since the script started | 
| $LINENO | The current line number. Useful for errors. | 
| $IFS | The Internal field seperator. Normally a ' ' | 
| $PATH | The path to search for commands. Should '.' be in the path? | 
| $HOME | Your home directory. Changeable!! | 
| $CDPATH | The path to search when you type 'cd'. | 
| $PS1 | Your normal prompt | 
| $PS2 | Your secondary prompt. Nornally used when you have a running quote or a running do ... done loop | 
| $TMOUT | How long to wait for input before logging someone out. Good for security. | 
| $noclobber | If this has a value, then you cannot with redirection clobber an existing file. Can be unset with 'unset noclobber' | 
| let a=3+2/4 | Math!! | 
| read a b c | Read stdin. The first word is $a, the second is $b, and anything else is $c. | 
| pushd /tmp | change the cwd to /tmp. Store the pwd in a stack. | 
| popd | Go back to where the last pushd left from. | 
| exec /usr/bin/vi | Ends the script. /usr/bin/vi is started, | 
| shift | $9 becomes $8, $8 becomes $7, $7 becomes $6, etc. | 
| times | view resource consumption | 
| -a | report all limits | 
| -c | Max size of core files. Set to zero to not get core files. | 
| -d | Processes data segment | 
| -f | Max size of a file created by shell redirection. | 
| -m | Max resident set size. | 
| -s | Max stack size. Stops runaway recursive calls. | 
| -t | Max CPU time in seconds | 
| -u | Max number of processes |