Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
start [2015/11/18 05:06] thebonsai [Contact] |
start [2019/08/22 13:56] (current) murugan [Builtin Commands] |
||
---|---|---|---|
Line 8: | Line 8: | ||
<WRAP center round box 90%> | <WRAP center round box 90%> | ||
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 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. | ||
+ | |||
+ | You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
[[wishes | What would YOU like to see here?]] (outdated and locked, please use the discussions) | [[wishes | What would YOU like to see here?]] (outdated and locked, please use the discussions) | ||
- | **Stranger!** [[http://wiki.bash-hackers.org/start&do=register | Feel free to register]] and 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. | + | **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. |
</WRAP> | </WRAP> | ||
Line 48: | Line 54: | ||
* [[howto:getopts_tutorial]] (//under construction!//) | * [[howto:getopts_tutorial]] (//under construction!//) | ||
* [[howto:dissectabadoneliner]] An example of a bad oneliner, breakdown and fix (by ''kojoro'') | * [[howto:dissectabadoneliner]] An example of a bad oneliner, breakdown and fix (by ''kojoro'') | ||
+ | * [[howto:testing-your-scripts | Write tests for ./your-script.sh]] by using bashtest util | ||
Line 105: | Line 112: | ||
<WRAP column 46%> | <WRAP column 46%> | ||
- | ^ Declaration commands\\ <wrap lo>Commands that set and query attributes/types, and manipulate simple datastructures.</wrap> ^^ Alt ^ Type ^ | + | ^ Declaration commands\\ <wrap center round lo todo box 80%>Commands that set and query attributes/types, and manipulate simple datastructures.</wrap> ^^ Alt ^ Type ^ |
|[[commands:builtin:declare | declare]]|Display or set shell variables or functions along with attributes.| ''typeset'' | builtin | | |[[commands:builtin:declare | declare]]|Display or set shell variables or functions along with attributes.| ''typeset'' | builtin | | ||
|[[commands:builtin:export | export]]|Display or set shell variables, also giving them the export attribute.| ''typeset -x'' | special builtin | | |[[commands:builtin:export | export]]|Display or set shell variables, also giving them the export attribute.| ''typeset -x'' | special builtin | | ||
Line 113: | Line 120: | ||
|[[commands:builtin:unset | unset]]|Unset variables and functions.| - | special builtin | | |[[commands:builtin:unset | unset]]|Unset variables and functions.| - | special builtin | | ||
|[[commands:builtin:shift | shift]]|Shift positional parameters| - | special builtin | | |[[commands:builtin:shift | shift]]|Shift positional parameters| - | special builtin | | ||
- | ^ I/O\\ <wrap lo>Commands for reading/parsing input, or producing/formatting output of standard streams.</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 compound command in the background with async I/O.| - | keyword | | + | |[[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:echo | echo]]|Create output from arguments.| - | builtin | | ||
|[[commands:builtin:mapfile | mapfile]]|Read lines of input into an array.| ''readarray'' | builtin | | |[[commands:builtin:mapfile | mapfile]]|Read lines of input into an array.| ''readarray'' | builtin | | ||
|[[commands:builtin:printf | printf]]|"advanced ''echo''."| - | builtin | | |[[commands:builtin:printf | printf]]|"advanced ''echo''."| - | builtin | | ||
|[[commands:builtin:read | read]]|Read input into variables or arrays, or split strings into fields using delimiters.| - | builtin | | |[[commands:builtin:read | read]]|Read input into variables or arrays, or split strings into fields using delimiters.| - | builtin | | ||
- | ^ Configuration and Debugging\\ <wrap lo>Commands that modify shell behavior, change special options, assist in debugging.</wrap> ^^ Alt ^ Type ^ | + | ^ Configuration and Debugging\\ <wrap center round lo todo box 80%>Commands that modify shell behavior, change special options, assist in debugging.</wrap> ^^ Alt ^ Type ^ |
|[[commands:builtin:caller | caller]]|Identify/print execution frames.| - | builtin | | |[[commands:builtin:caller | caller]]|Identify/print execution frames.| - | builtin | | ||
|[[commands:builtin:set | set]]|Set the positional parameters and/or set options that affect shell behaviour.| - | special builtin | | |[[commands:builtin:set | set]]|Set the positional parameters and/or set options that affect shell behaviour.| - | special builtin | | ||
Line 197: | Line 204: | ||
* [[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.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://cfajohnson.com/shell/cus-faq.html | comp.unix.shell FAQ]] | * [[http://cfajohnson.com/shell/cus-faq.html | comp.unix.shell FAQ]] | ||
+ | |||
=== Documentation / Reference === | === Documentation / Reference === | ||
Line 214: | Line 222: | ||
* [[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://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]] | * [[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 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:bashphorisms | Bashphorism list from the Bash IRC channel on Freenode]] | ||
* [[misc:shell_humor | Some more or less funny commandline stuff]] | * [[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]] | ||
==== Bash Libraries (needs review) ==== | ==== Bash Libraries (needs review) ==== | ||