This is an old revision of the document!
The URL style of this wiki was changed. All old URLs should continue to work, but please update your links. New base is http://wiki.bash-hackers.org
The Bash-Hackers Wiki This wiki is intended to hold documentations of any kind about the GNU Bash. 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 hard sometimes. However, these docs here are not meant as newbie tutorial.
What would YOU like to see here? (outdated and locked, please use the discussions)
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
|Compound commands overview|
|command grouping in a subshell|
Expansions and substitutions
|Introduction to expansions and substitutions|
This is a selection of builtin commands and command-like keywords, loosely arranged by their common uses. These are provided directly by the shell, rather than invoked as standalone external commands.
| Declaration commands|
Commands that set and query attributes/types, and manipulate simple datastructures.
|declare||Display or set shell variables or functions along with attributes.|| ||builtin|
|export||Display or set shell variables, also giving them the export attribute.||-||builtin|
|local||Declare variables as having function local scope.||-||builtin|
|readonly||Mark variables or functions as read-only.|| ||builtin|
|unset||Unset variables and functions.||-||builtin|
Commands for reading/parsing input, or producing/formatting output of standard streams.
|coproc||Co-processes: Run a compound command in the background with async I/O.||-||keyword|
|echo||Create output from args.||-||builtin|
|mapfile||Create arrays from lines of input|| ||builtin|
|read||Build variables or arrays from input streams.||-||builtin|
| Configuration and Debugging|
Commands that modify shell behavior, change special options, assist in debugging.
|caller||Identify/print execution frames.||-||builtin|
|set||Control positional parameters and shell behaviour.||-||builtin|
|shopt||set/get shell options.||-||builtin|
| Control flow and data processing|
Commands that operate on data and/or affect control flow.
|continue / break||continue with or break out of loops.||-||builtin|
|let||Arithmetic evaluation - an old fashioned way.||-||builtin|
|return||Break out of a function, returning the specified exit status.||-||builtin|
|[||The classic ||test||builtin|
| Process and Job control|
Commands related to jobs, signals, process groups, subshells.
|exec||Replace the shell, set redirections.||-||builtin|
|wait||Wait for background jobs and asynchronous lists.||-||builtin|
History, programmable completion, directory stack.
previous alphabetical version
|caller||identify/print execution frames (Bash builtin)|
|coproc||Co-processes (Bash keyword)|
|declare||display or set shell variables or functions along with attributes (Bash builtin, synonym:
|exec||replace the shell, set redirections (Bash builtin)|
|let||arithmetic evaluation - an old fashioned way (Bash builtin)|
|mapfile|| Mapping lines of input to an array, also named
|read||getting input from
|readonly||mark variables or functions as read-only (Bash builtin)|
|set||control positional parameters and shell behaviour (Bash builtin)|
|shopt||set/get shell options (Bash builtin)|
|unset||unset variables and functions (Bash builtin)|
|Statistics for Month: April 2012|
|1||6833||Small getopts tutorial (March: 11663)|
|2||4025||The printf command (March: 7079)|
|3||2861||Quotes and escaping (March: 5730)|
|4||2854||The classic test command (March: 6145)|
|5||2222||Parameter expansion (March: 4540)|
|6||1760||Handling positional parameters (March: 3591)|
|7||1249||Bash 4 - a rough overview (March: –)|
|8||1212||Editing files with the ed text editor from scripts (March: 2727)|
|9||1205||The read builtin command (March: –)|
|10||1182||Lock your script (against parallel run) (March: –)|
lhunathis 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 on the right.
If you have quick suggestions, you can also use the Wishlist (editable by everyone!). Note that there is a discussion platform below every article page.
Please also see the imprint if you have problems with the site and its contents (legality, …)!
It also would be nice to drop a line when
Simply: Reader's feedback