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: February 2010 | ||
|---|---|---|
| Rank | Views | Article |
| 1 | 3683 | Small getopts tutorial (January: 3405) |
| 2 | 3405 | The classic test command (January: 1904) |
| 3 | 2181 | The printf command (January: 1951) |
| 4 | 1085 | Bash 4 - a rough overview (January: 1087) |
| 5 | 931 | Handling positional parameters (January: 905) |
| 6 | 827 | Parameter expansion (January: 1033) |
| 7 | 809 | Lock your script (against parallel run) (January: 772) |
| 8 | 778 | Arithmetic expressions (January: 821) |
| 9 | 756 | Terminal codes (ANSI/VT100) introduction (January: 750) |
| 10 | 552 | Redirection (January: –) |
February total views (all wiki pages): 38032 views (January: 39230)
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