This wiki is intended to hold documentation of any kind about GNU Bash. The main motivation was to provide //human-readable documentation// and information so users aren't forced to read every bit of the Bash manpage - which can be difficult to understand. However, the docs here are **not** meant as a newbie tutorial.
This wiki and any programs found in this wiki are free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This wiki and its programs are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
**Stranger!** [[http://wiki.bash-hackers.org/start&do=register | Feel free to register]] and comment or edit the contents. There is a [[meta:need_love|Bash Hackers Wiki needs love page]] that lists some things to do. The registration is only there to prevent SPAM.
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\\ <wrap center round lo todo box 80%>Commands that set and query attributes/types, and manipulate simple datastructures.</wrap> ^^ Alt ^ Type ^
^ I/O\\ <wrap center round lo todo box 80%>Commands for reading/parsing input, or producing/formatting output of standard streams.</wrap> ^^ Alt ^ Type ^
|[[syntax:keywords:coproc | coproc]]|Co-processes: Run a command in the background with pipes for reading / writing its standard streams.| - | keyword |
|[[commands:builtin:echo | echo]]|Create output from arguments.| - | builtin |
|[[commands:builtin:mapfile | mapfile]]|Read lines of input into an array.| ''readarray'' | builtin |
^ Configuration and Debugging\\ <wrap center round lo todo box 80%>Commands that modify shell behavior, change special options, assist in debugging.</wrap> ^^ Alt ^ Type ^
^ Control flow and data processing\\ <wrap center round lo todo box 80%>Commands that operate on data and/or affect control flow.</wrap> |^ Alt ^ Type ^
* [[http://mywiki.wooledge.org/ | Greg's wiki]] - Greg Wooledge's (aka "greycat") wiki -- with **MASSIVE** information about Bash and UNIX(r) in general.
* [[http://www.in-ulm.de/~mascheck/ | Sven Mascheck's pages]] - A goldmine of information. A must-read.
* [[https://www.mirbsd.org/ksh-chan.htm | #ksh channel page]] - #ksh Freenode channel page maintains a solid collection of recommended links.
* [[http://www.grymoire.com/Unix/ | The Grymoire Unix pages]] - Good scripting information, especially read the [[http://www.grymoire.com/Unix/Quote.html | quoting]] guide.
* [[http://www.shelldorado.com | Heiner's "Shell Dorado"]] - Tips, tricks, links - for every situation.
* [[http://pubs.opengroup.org/onlinepubs/9699919799/ | The Single Unix Specification (version 4, aka POSIX-2008)]]
* [[http://www.opengroup.org/austin/ | The Austin Group]] - [[ http://dir.gmane.org/gmane.comp.standards.posix.austin.general | List archives ]], [[ http://austingroupbugs.net/main_page.php | Bug tracker ]]
* [[http://www.in-ulm.de/~mascheck/bourne/ | History and development of the traditional Bourne shell family]] - very interesting and nice to read!
* [[http://www.computerworld.com.au/article/222764/-z_programming_languages_bash_bourne-again_shell | Interview with Chet Ramey]]
* [[http://www.computerworld.com.au/article/279011/a-z_programming_languages_sh | Interview with Steve Bourne]] • [[https://www.youtube.com/watch?v=2kEJoWfobpA | Stephen Bourne - BSDCan 2015 keynote]]
* [[http://news.slashdot.org/story/01/02/06/2030205/david-korn-tells-all | Interview with David Korn]]
* [[https://www.youtube.com/watch?v=bKzonnwoR2I | Kernighan on the Unix pipeline (computerphile video)]]
* Linux in general, with some shell related stuff: [[http://www.cyberciti.biz/ | nixCraft: Linux Tips, Hacks, Tutorials and Ideas]]
* Linux tutorials, guides and how-tos: [[https://www.rosehosting.com/blog/ | RoseHosting Blog]], [[https://www.rosehosting.com/blog/script-install-wordpress-on-a-debianubuntu-vps/ | bash script for installing WordPress]] and some [[https://www.rosehosting.com/blog/basic-shell-commands-after-putty-ssh-logon/ | basic shell commands]]
* [[misc:bashphorisms | Bashphorism list from the Bash IRC channel on Freenode]]
* [[misc:shell_humor | Some more or less funny commandline stuff]]
* [[https://thishosting.rocks/how-to-enable-ssh-on-ubuntu/ | How to Enable SSH on Ubuntu Tutorial]]
* [[https://linuxstans.com/how-to-make-an-awesome-custom-shell-with-zsh/ | How To Make an Awesome Custom Shell with ZSH]]
==== Bash Libraries (needs review) ====
* [[http://sourceforge.net/projects/oobash/ | An oo-style bash library for bash 4]] - provides tools for rapid script development and huge libraries.
* [[https://github.com/hornos/shf3 | General purpose shell framework for bash 4]] - in development.
* [[https://github.com/chilicuil/learn/blob/master/sh/lib| General purpose bash library for bash 4]] - active development
Visit us in ''irc.freenode.net'', channel ''#bash'' ;-)
If you have critiques or suggestions, please feel free to send a mail using the contact form on the right. Note that there is a simple discussion option below every article.
Please also see the [[user:thebonsai:imprint | imprint]] if you have problems with the site and its contents (legality, ...)!
It also would be nice to drop a line when
* it helped you
* it didn't help you (something missing / unclear)