Long list of topics in the BASH man pages for version 1.14.7(1) of bash (which we are using at NSCC): NAME SYNOPSIS COPYRIGHT DESCRIPTION OPTIONS -c -i -s - -norc -noprofile -rcfile -version -quiet -login -nobracexpansion -nolineediting -posix ARGUMENTS DEFINITIONS blank word name metacharacter control operator RESERVED WORDS ! case do done elif else esac fi for function if in select then until while { } SHELL GRAMMAR Simple Commands Pipelines Lists Compound Commands (list) { list; } for name [ in word; ] do list ; done select name [ in word; ] do list ; done case word in [ pattern [ | pattern ] ... ) list ;; ] ... esac if list then list [ elif list then list ] ... [ else list ] fi while list do list done until list do list done [ function ] name () { list; } COMMENTS QUOTING PARAMETERS Positional Parameters Special Parameters * @ # ? - $ ! 0 _ Shell Variables PPID PWD OLDPWD REPLY UID EUID BASH BASH_VERSION SHLVL RANDOM SECONDS LINENO HISTCMD OPTARG OPTIND HOSTTYPE OSTYPE IFS PATH HOME CDPATH ENV MAIL MAILCHECK MAILPATH MAIL_WARNING PS1 PS2 PS3 PS4 HISTSIZE HISTFILE HISTFILESIZE OPTERR PROMPT_COMMAND IGNOREEOF TMOUT FCEDIT FIGNORE INPUTRC notify history_control HISTCONTROL command_oriented_history glob_dot_filenames allow_null_glob_expansion histchars nolinks hostname_completion_file HOSTFILE noclobber auto_resume no_exit_on_failed_exec cdable_vars EXPANSION Brace Expansion Tilde Expansion Parameter Expansion ${parameter} ${parameter:-word} ${parameter:=word} ${parameter:?word} ${parameter:+word} ${#parameter} ${parameter#word} ${parameter##word} ${parameter%word} ${parameter%%word} Command Substitution $(command) `command` Arithmetic Expansion $[expression] $((expression)) Process Substitution Word Splitting Pathname Expansion Quote Removal REDIRECTION Redirecting Input Redirecting Output Appending Redirected Output Redirecting Standard Output and Standard Error Duplicating File Descriptors Opening File Descriptors for Reading and Writing FUNCTIONS ALIASES JOB CONTROL SIGNALS COMMAND EXECUTION ENVIRONMENT EXIT STATUS PROMPTING \t \d \n \s \w \W \u \h \# \! \$ \nnn \\ \[ \] READLINE The default key-bindings The following symbolic character names are recognized: RUBOUT, DEL, ESC, LFD, NEWLINE, RET, RETURN, SPC, SPACE, and TAB. The full set of escape sequences \C- \M- \e \\ \" \' Readline has variables set variable-name value performed as a result of tests $if $endif $else list of the names of the commands and default key sequences to which they are bound. Commands for Moving Commands for Manipulating the History Commands for Changing Text Killing and Yanking Numeric Arguments Completing Keyboard Macros Miscellaneous HISTORY HISTORY EXPANSION Event Designators Word Designators Modifiers ARITHMETIC EVALUATION - + ! ~ * / % + - << >> <= >= < > == != & ^ | && || = *= /= %= += -= <<= >>= &= ^= |= SHELL BUILTIN COMMANDS : . source alias bg bind break builtin cd command continue declare typeset dirs echo enable eval exec exit export fc fg getopts hash help history jobs kill let local logout popd pushd pwd read readonly return set -a -b -e -f -h -k -m -n -o -p -t -u -v -x -l -d -C -H -P -- - shift suspend test expr [ expr ] -b -c -d -e -f -g -k -L -P -r -s -S -t -u -w -x -O -G -nt -ot -ef -z -n = != ! expr -a -o -eq -ne -lt -le -gt -ge times trap type ulimit umask unalias unset wait INVOCATION Login shells: Non-login interactive shells: Non-interactive shells: SEE ALSO FILES AUTHORS BUG REPOPRTS BUGS End of BASH document.