The main motivation was to provide human-readable documentation and information to not force users to read every bit of the Bash manpage - which is PITA sometimes. The docs here are not meant as newbie tutorial, more as educational summary.
What would YOU like to see here? (editable without registration)
Stranger! Feel free to register and edit the contents. The registration is only there to prevent SPAM.
Bash version 4 is here! New information is being merged into this documentation step by step. The logo
indicates Bash version 4 features or behaviour. There is also a small text about the interesting changes: Bash 4 - a rough overview
Scripting with style – an assorted collection of style and optic hintsThere is a section that holds small code snipplets.
Doing specific tasks: concepts, ways, ideas:
| Introduction to expansions and substitutions | |
|---|---|
{A,B,C} {A..C} | Brace expansion |
~/ ~root/ | Tilde expansion |
$FOO ${BAR%.mp3} | Parameter expansion |
`command` $(command) | Command substitution |
<(command) >(command) | Process substitution |
$((1 + 2 + 3)) $[4 + 5 + 6] | Arithmetic expansion |
... | Word splitting |
/data/*-av/*.mp? | Pathname expansion |
| Compound commands overview | |
|---|---|
| Grouping | |
{ ...; } | command grouping |
( ... ) | command grouping in a subshell |
| Conditionals | |
[[ ... ]] | conditional expression |
if ...; then ...; fi | conditional branching |
case ... esac | pattern-based branching |
| Loops | |
for word in ...; do ...; done | classic for-loop |
for ((x=1; x<=10; x++)); do ...; done | C-style for-loop |
while ...; do ...; done | while loop |
until ...; do ...; done | until loop |
| Misc | |
(( ... )) | arithmetic evaluation |
select word in ...; do ...; done | user selections |
This is a selection of builtin commands and command-like keywords.
| A-G | |
|---|---|
| coproc | Co-processes |
| I-N | |
| let | arithmetic evaluation - an old fashioned way (Bash builtin) |
| mapfile | Mapping lines of input to an array, also named readarray (Bash builtin) |
| O-T | |
| printf | “advanced echo” (Bash builtin) |
| read | getting input from stdin (Bash builtin) |
| set | control positional parameters and shell behaviour (Bash builtin) |
| shopt | set/get shell options (Bash builtin) |
| test | the classic test command (Bash builtin) |
| U-Z | |
| Statistics for Month: January 2010 | ||
|---|---|---|
| Rank | Views | Article |
| 1 | 3405 | Small getopts tutorial (December: 3180) |
| 2 | 1951 | The printf command (December: 1953) |
| 3 | 1904 | The classic test command (December: 1928) |
| 4 | 1087 | Bash 4 - a rough overview (December: 1139) |
| 5 | 1033 | Parameter expansion (December: 743) |
| 6 | 905 | Handling positional parameters (December: 803) |
| 7 | 821 | Arithmetic expressions (December: 683) |
| 8 | 772 | Lock your script (against parallel run) (December: 606) |
| 9 | 750 | Terminal codes (ANSI/VT100) introduction (December: 590) |
| 10 | 601 | Editing files with the ed text editor from scripts (December: 610) |
January total views (all wiki pages): 39230 views (December: 38232)
lhunath is making a Bash Guide on Greg's wiki (designed for newbies)If you have critics or suggestions, please feel free to send a mail using the contact form below. If you have quick suggestions, you can also use the Wishlist (editable by everyone!).
It also would be nice to drop a line when
Simply: Reader's feedback
Please also see the imprint if you have problems with the site and its contents (legality, ...)!
Visits in irc.freenode.net, channel #bash