mirror of
https://github.com/flokoe/bash-hackers-wiki.git
synced 2024-11-01 14:53:06 +01:00
Merge pull request #11 from hansonchar/issue#10
Fix hyperlinks of docs/index.md so that it would work with markedown pages that already exist
This commit is contained in:
commit
63fbd34a91
178
docs/index.md
178
docs/index.md
@ -32,86 +32,86 @@ If not, see [http://www.gnu.org/licenses/](http://www.gnu.org/licenses/).
|
|||||||
|
|
||||||
## Scripting and general information
|
## Scripting and general information
|
||||||
|
|
||||||
- [Bash v4 - a rough overview](bash4) (unmaintained, since Bash 4 is more or less standard)
|
- [Bash v4 - a rough overview](bash4.md) (unmaintained, since Bash 4 is more or less standard.md)
|
||||||
- [style](/scripting/style) – an assorted collection of style and optic hints
|
- [style](scripting/style.md) – an assorted collection of style and optic hints
|
||||||
- [basics](/scripting/basics)
|
- [basics](scripting/basics.md)
|
||||||
- [newbie_traps](/scripting/newbie_traps)
|
- [newbie_traps](scripting/newbie_traps.md)
|
||||||
- [bashbehaviour](/scripting/bashbehaviour)
|
- [bashbehaviour](scripting/bashbehaviour.md)
|
||||||
- [posparams](/scripting/posparams)
|
- [posparams](scripting/posparams.md)
|
||||||
- [processtree](/scripting/processtree)
|
- [processtree](scripting/processtree.md)
|
||||||
- [obsolete](/scripting/obsolete)
|
- [obsolete](scripting/obsolete.md)
|
||||||
- [nonportable](/scripting/nonportable)
|
- [nonportable](scripting/nonportable.md)
|
||||||
- [debuggingtips](/scripting/debuggingtips)
|
- [debuggingtips](scripting/debuggingtips.md)
|
||||||
- [terminalcodes](/scripting/terminalcodes)
|
- [terminalcodes](scripting/terminalcodes.md)
|
||||||
- [tutoriallist](/scripting/tutoriallist)
|
- [tutoriallist](scripting/tutoriallist)
|
||||||
|
|
||||||
## Code snippets
|
## Code snippets
|
||||||
|
|
||||||
There is a [section that holds small code snippets](/snipplets/start).
|
There is a [section that holds small code snippets](snipplets).
|
||||||
|
|
||||||
See also [some Bash source code excerpts](/misc/readthesourceluke).
|
See also [some Bash source code excerpts](misc/readthesourceluke.md).
|
||||||
|
|
||||||
## How to
|
## How to
|
||||||
|
|
||||||
[Doing specific tasks: concepts, methods, ideas](/howto/start):
|
[Doing specific tasks: concepts, methods, ideas](howto/start.md):
|
||||||
|
|
||||||
- [Simple locking (against parallel run)](/howto/mutex)
|
- [Simple locking (against parallel run.md)](howto/mutex.md)
|
||||||
- [Rudimentary config files for your scripts](/howto/conffile)
|
- [Rudimentary config files for your scripts](howto/conffile.md)
|
||||||
- [Editing files with ed](/howto/edit-ed)
|
- [Editing files with ed](howto/edit-ed.md)
|
||||||
- [Collapsing Functions](/howto/collapsing_functions)
|
- [Collapsing Functions](howto/collapsing_functions.md)
|
||||||
- [Illustrated Redirection Tutorial](/howto/redirection_tutorial)
|
- [Illustrated Redirection Tutorial](howto/redirection_tutorial.md)
|
||||||
- [Calculate with dc](/howto/calculate-dc)
|
- [Calculate with dc](howto/calculate-dc.md)
|
||||||
- [Introduction to pax - the POSIX archiver](/howto/pax)
|
- [Introduction to pax - the POSIX archiver](howto/pax.md)
|
||||||
- [getopts_tutorial](/howto/getopts_tutorial) (*under construction!*)
|
- [getopts_tutorial](howto/getopts_tutorial.md) (*under construction!*)
|
||||||
- [dissectabadoneliner](/howto/dissectabadoneliner) An example of a bad oneliner, breakdown and fix (by `kojoro`)
|
- [dissectabadoneliner](howto/dissectabadoneliner.md) An example of a bad oneliner, breakdown and fix (by `kojoro`)
|
||||||
- [Write tests for ./your-script.sh](/howto/testing-your-scripts) by using bashtest util
|
- [Write tests for ./your-script.sh](howto/testing-your-scripts.md) by using bashtest util
|
||||||
|
|
||||||
## Bash syntax and operations
|
## Bash syntax and operations
|
||||||
|
|
||||||
- [Bash features overview by version](/scripting/bashchanges)
|
- [Bash features overview by version](scripting/bashchanges.md)
|
||||||
- [Basic grammar rules](/syntax/basicgrammar)
|
- [Basic grammar rules](syntax/basicgrammar.md)
|
||||||
- [Quoting and character escaping](/syntax/quoting)
|
- [Quoting and character escaping](syntax/quoting.md)
|
||||||
- [Parsing and execution](/syntax/grammar/parser_exec)
|
- [Parsing and execution](syntax/grammar/parser_exec.md)
|
||||||
- [Some words about words...](/syntax/words)
|
- [Some words about words...](syntax/words.md)
|
||||||
- [Patterns and pattern matching](/syntax/pattern)
|
- [Patterns and pattern matching](syntax/pattern.md)
|
||||||
- [Arithmetic expressions](/syntax/arith_expr)
|
- [Arithmetic expressions](syntax/arith_expr.md)
|
||||||
- [List of shell options](/internals/shell_options)
|
- [List of shell options](internals/shell_options.md)
|
||||||
- [Redirection](/syntax/redirection)
|
- [Redirection](syntax/redirection.md)
|
||||||
- [Special parameters and shell variables](/syntax/shellvars)
|
- [Special parameters and shell variables](syntax/shellvars.md)
|
||||||
- [Arrays](/syntax/arrays)
|
- [Arrays](syntax/arrays.md)
|
||||||
|
|
||||||
## Compound commands
|
## Compound commands
|
||||||
|
|
||||||
| [Compound commands overview](/syntax/ccmd/intro) | |
|
| [Compound commands overview](syntax/ccmd/intro.md) | |
|
||||||
| ------------------------------------------------ | ---------------------------------------------------------------- |
|
| ------------------------------------------------ | ---------------------------------------------------------------- |
|
||||||
| **Grouping** | |
|
| **Grouping** | |
|
||||||
| `{ ...; }` | [command grouping](/syntax/ccmd/grouping_plain) |
|
| `{ ...; }` | [command grouping](syntax/ccmd/grouping_plain.md) |
|
||||||
| `( ... )` | [command grouping in a subshell](/syntax/ccmd/grouping_subshell) |
|
| `( ... .md)` | [command grouping in a subshell](syntax/ccmd/grouping_subshell.md) |
|
||||||
| **Conditionals** | |
|
| **Conditionals** | |
|
||||||
| `[[ ... ]]` | [conditional expression](/syntax/ccmd/conditional_expression) |
|
| `[[ ... ]]` | [conditional expression](syntax/ccmd/conditional_expression.md) |
|
||||||
| `if ...; then ...; fi` | [conditional branching](/syntax/ccmd/if_clause) |
|
| `if ...; then ...; fi` | [conditional branching](syntax/ccmd/if_clause.md) |
|
||||||
| `case ... esac` | [pattern-based branching](/syntax/ccmd/case) |
|
| `case ... esac` | [pattern-based branching](syntax/ccmd/case.md) |
|
||||||
| **Loops** | |
|
| **Loops** | |
|
||||||
| `for word in ...; do ...; done` | [classic for-loop](/syntax/ccmd/classic_for) |
|
| `for word in ...; do ...; done` | [classic for-loop](syntax/ccmd/classic_for.md) |
|
||||||
| `for ((x=1; x<=10; x++)); do ...; done` | [C-style for-loop](/syntax/ccmd/c_for) |
|
| `for ((x=1; x<=10; x++)); do ...; done` | [C-style for-loop](syntax/ccmd/c_for.md) |
|
||||||
| `while ...; do ...; done` | [while loop](/syntax/ccmd/while_loop) |
|
| `while ...; do ...; done` | [while loop](syntax/ccmd/while_loop.md) |
|
||||||
| `until ...; do ...; done` | [until loop](/syntax/ccmd/until_loop) |
|
| `until ...; do ...; done` | [until loop](syntax/ccmd/until_loop.md) |
|
||||||
| **Misc** | |
|
| **Misc** | |
|
||||||
| `(( ... ))` | [arithmetic evaluation](/syntax/ccmd/arithmetic_eval) |
|
| `(( ... ))` | [arithmetic evaluation](syntax/ccmd/arithmetic_eval.md) |
|
||||||
| `select word in ...; do ...; done` | [user selections](/syntax/ccmd/user_select) |
|
| `select word in ...; do ...; done` | [user selections](syntax/ccmd/user_select.md) |
|
||||||
|
|
||||||
## Expansions and substitutions
|
## Expansions and substitutions
|
||||||
|
|
||||||
| [Introduction to expansions and substitutions](/syntax/expansion/intro) | |
|
| [Introduction to expansions and substitutions](syntax/expansion/intro.md) | |
|
||||||
| ------------------------------------------------------------------------| ---------------------------------------------------- |
|
| ------------------------------------------------------------------------| ---------------------------------------------------- |
|
||||||
| `{A,B,C} {A..C}` | [Brace expansion](/syntax/expansion/brace) |
|
| `{A,B,C} {A..C}` | [Brace expansion](syntax/expansion/brace.md) |
|
||||||
| `~/ ~root/` | [Tilde expansion](/syntax/expansion/tilde) |
|
| `~/ ~root/` | [Tilde expansion](syntax/expansion/tilde.md) |
|
||||||
| `$FOO ${BAR%.mp3}` | [Parameter expansion](/syntax/pe) |
|
| `$FOO ${BAR%.mp3}` | [Parameter expansion](syntax/pe.md) |
|
||||||
| `` `command` $(command) `` | [Command substitution](/syntax/expansion/cmdsubst) |
|
| `` `command` $(command) `` | [Command substitution](syntax/expansion/cmdsubst.md) |
|
||||||
| `<(command) >(command)` | [Process substitution](/syntax/expansion/proc_subst) |
|
| `<(command.md) >(command)` | [Process substitution](syntax/expansion/proc_subst.md) |
|
||||||
| `$((1 + 2 + 3)) $[4 + 5 + 6]` | [Arithmetic expansion](/syntax/expansion/arith) |
|
| `$((1 + 2 + 3)) $[4 + 5 + 6]` | [Arithmetic expansion](syntax/expansion/arith.md) |
|
||||||
| `Hello <---> Word!` | [Word splitting](/syntax/expansion/wordsplit) |
|
| `Hello <---> Word!` | [Word splitting](syntax/expansion/wordsplit.md) |
|
||||||
| `/data/*-av/*.mp?` | [Pathname expansion](/syntax/expansion/globs) |
|
| `/data/*-av/*.mp?` | [Pathname expansion](syntax/expansion/globs.md) |
|
||||||
|
|
||||||
## Builtin Commands
|
## Builtin Commands
|
||||||
|
|
||||||
@ -125,13 +125,13 @@ These are provided directly by the shell, rather than invoked as standalone exte
|
|||||||
|
|
||||||
| Command | Description | Alt | Type |
|
| Command | Description | Alt | Type |
|
||||||
| -------------------------------------- | ---------------------------------------------------------------------- | ------------ | --------------- |
|
| -------------------------------------- | ---------------------------------------------------------------------- | ------------ | --------------- |
|
||||||
| [declare](/commands/builtin/declare) | Display or set shell variables or functions along with attributes. | `typeset` | builtin |
|
| [declare](commands/builtin/declare.md) | Display or set shell variables or functions along with attributes. | `typeset` | builtin |
|
||||||
| [export](/commands/builtin/export) | Display or set shell variables, also giving them the export attribute. | `typeset -x` | special builtin |
|
| [export](commands/builtin/export.md) | Display or set shell variables, also giving them the export attribute. | `typeset -x` | special builtin |
|
||||||
| [eval](/commands/builtin/eval) | Evaluate arguments as shell code. | | special builtin |
|
| [eval](commands/builtin/eval.md) | Evaluate arguments as shell code. | | special builtin |
|
||||||
| [local](/commands/builtin/local) | Declare variables as having function local scope. | | builtin |
|
| [local](commands/builtin/local.md) | Declare variables as having function local scope. | | builtin |
|
||||||
| [readonly](/commands/builtin/readonly) | Mark variables or functions as read-only. | `typeset -r` | special builtin |
|
| [readonly](commands/builtin/readonly.md) | Mark variables or functions as read-only. | `typeset -r` | special builtin |
|
||||||
| [unset](/commands/builtin/unset) | Unset variables and functions. | | special builtin |
|
| [unset](commands/builtin/unset.md) | Unset variables and functions. | | special builtin |
|
||||||
| [shift](/commands/builtin/shift) | Shift positional parameters | | special builtin |
|
| [shift](commands/builtin/shift.md) | Shift positional parameters | | special builtin |
|
||||||
|
|
||||||
### IO
|
### IO
|
||||||
|
|
||||||
@ -140,11 +140,11 @@ These are provided directly by the shell, rather than invoked as standalone exte
|
|||||||
|
|
||||||
| Command | Description | Alt | Type |
|
| Command | Description | Alt | Type |
|
||||||
| ------------------------------------ | ---------------------------------------------------------------------- | ----------- | ---------|
|
| ------------------------------------ | ---------------------------------------------------------------------- | ----------- | ---------|
|
||||||
| [coproc](/syntax/keywords/coproc) | Co-processes: Run a command in the background with pipes for reading / writing its standard streams. | | keyword |
|
| [coproc](syntax/keywords/coproc.md) | Co-processes: Run a command in the background with pipes for reading / writing its standard streams. | | keyword |
|
||||||
| [echo](/commands/builtin/echo) | Create output from arguments. | | builtin |
|
| [echo](commands/builtin/echo.md) | Create output from arguments. | | builtin |
|
||||||
| [mapfile](/commands/builtin/mapfile) | Read lines of input into an array. | `readarray` | builtin |
|
| [mapfile](commands/builtin/mapfile.md) | Read lines of input into an array. | `readarray` | builtin |
|
||||||
| [printf](/commands/builtin/printf) | "advanced `echo`" | | builtin |
|
| [printf](commands/builtin/printf.md) | "advanced `echo`" | | builtin |
|
||||||
| [read](/commands/builtin/read) | Read input into variables or arrays, or split strings into fields using delimiters. | | builtin |
|
| [read](commands/builtin/read.md) | Read input into variables or arrays, or split strings into fields using delimiters. | | builtin |
|
||||||
|
|
||||||
### Configuration and Debugging
|
### Configuration and Debugging
|
||||||
|
|
||||||
@ -153,9 +153,9 @@ These are provided directly by the shell, rather than invoked as standalone exte
|
|||||||
|
|
||||||
| Command | Description | Alt | Type |
|
| Command | Description | Alt | Type |
|
||||||
| ---------------------------------- | ----------------------------------------------------------------------------- | --- | --------------- |
|
| ---------------------------------- | ----------------------------------------------------------------------------- | --- | --------------- |
|
||||||
| [caller](/commands/builtin/caller) | Identify/print execution frames. | | builtin |
|
| [caller](commands/builtin/caller.md) | Identify/print execution frames. | | builtin |
|
||||||
| [set](/commands/builtin/set) | Set the positional parameters and/or set options that affect shell behaviour. | | special builtin |
|
| [set](commands/builtin/set.md) | Set the positional parameters and/or set options that affect shell behaviour. | | special builtin |
|
||||||
| [shopt](/commands/builtin/shopt) | set/get some bash-specific shell options. | | builtin |
|
| [shopt](commands/builtin/shopt.md) | set/get some bash-specific shell options. | | builtin |
|
||||||
|
|
||||||
### Control flow and data processing
|
### Control flow and data processing
|
||||||
|
|
||||||
@ -164,13 +164,13 @@ These are provided directly by the shell, rather than invoked as standalone exte
|
|||||||
|
|
||||||
| Command | Description | Alt | Type |
|
| Command | Description | Alt | Type |
|
||||||
| --------------------------------------------------- | ---------------------------------------------------- | -------- | --------------- |
|
| --------------------------------------------------- | ---------------------------------------------------- | -------- | --------------- |
|
||||||
| [colon](/commands/builtin/true) | "true" null command. | `true` | special builtin |
|
| [colon](commands/builtin/true.md) | "true" null command. | `true` | special builtin |
|
||||||
| [dot](/commands/builtin/source) | Source external files. | `source` | special builtin |
|
| [dot](commands/builtin/source.md) | Source external files. | `source` | special builtin |
|
||||||
| [false](/commands/builtin/false) | Fail at doing nothing. | | builtin |
|
| [false](commands/builtin/false.md) | Fail at doing nothing. | | builtin |
|
||||||
| [continue / break](/commands/builtin/continueBreak) | continue with or break out of loops. | | special builtin |
|
| [continue / break](commands/builtin/continueBreak.md) | continue with or break out of loops. | | special builtin |
|
||||||
| [let](/commands/builtin/let) | Arithmetic evaluation simple command. | | builtin |
|
| [let](commands/builtin/let.md) | Arithmetic evaluation simple command. | | builtin |
|
||||||
| [return](/commands/builtin/return) | Return from a function with a specified exit status. | | special builtin |
|
| [return](commands/builtin/return.md) | Return from a function with a specified exit status. | | special builtin |
|
||||||
| [[]](/commands/classictest) | The classic `test` simple command. | `test` | builtin |
|
| [[]](commands/classictest.md) | The classic `test` simple command. | `test` | builtin |
|
||||||
|
|
||||||
### Process and Job control
|
### Process and Job control
|
||||||
|
|
||||||
@ -179,16 +179,16 @@ These are provided directly by the shell, rather than invoked as standalone exte
|
|||||||
|
|
||||||
| Command | Description | Alt | Type |
|
| Command | Description | Alt | Type |
|
||||||
| -------------------------------- | ------------------------------------------------------ | --- | --------------- |
|
| -------------------------------- | ------------------------------------------------------ | --- | --------------- |
|
||||||
| [exec](/commands/builtin/exec) | Replace the current shell process or set redirections. | | special builtin |
|
| [exec](commands/builtin/exec.md) | Replace the current shell process or set redirections. | | special builtin |
|
||||||
| [exit](/commands/builtin/exit) | Exit the shell. | | special builtin |
|
| [exit](commands/builtin/exit.md) | Exit the shell. | | special builtin |
|
||||||
| [trap](/commands/builtin/trap) | Set signal handlers or output the current handlers. | | special builtin |
|
| [trap](commands/builtin/trap.md) | Set signal handlers or output the current handlers. | | special builtin |
|
||||||
| [kill](/commands/builtin/kill) | Send a signal to specified process(es) | | builtin |
|
| [kill](commands/builtin/kill.md) | Send a signal to specified process(es.md) | | builtin |
|
||||||
| [times](/commands/builtin/times) | Display process times. | | special builtin |
|
| [times](commands/builtin/times.md) | Display process times. | | special builtin |
|
||||||
| [wait](/commands/builtin/wait) | Wait for background jobs and asynchronous lists. | | builtin |
|
| [wait](commands/builtin/wait.md) | Wait for background jobs and asynchronous lists. | | builtin |
|
||||||
|
|
||||||
## Dictionary
|
## Dictionary
|
||||||
|
|
||||||
A list of expressions, words, and their meanings is [here](/dict/index).
|
A list of expressions, words, and their meanings is [here](dict/index.md).
|
||||||
|
|
||||||
## Links
|
## Links
|
||||||
|
|
||||||
@ -235,8 +235,8 @@ A list of expressions, words, and their meanings is [here](/dict/index).
|
|||||||
- [Kernighan on the Unix pipeline (computerphile video)](https://www.youtube.com/watch?v=bKzonnwoR2I)
|
- [Kernighan on the Unix pipeline (computerphile video)](https://www.youtube.com/watch?v=bKzonnwoR2I)
|
||||||
- Linux in general, with some shell related stuff: [nixCraft: Linux Tips, Hacks, Tutorials and Ideas](http://www.cyberciti.biz/)
|
- Linux in general, with some shell related stuff: [nixCraft: Linux Tips, Hacks, Tutorials and Ideas](http://www.cyberciti.biz/)
|
||||||
- Linux tutorials, guides and how-tos: [RoseHosting Blog](https://www.rosehosting.com/blog/), [bash script for installing WordPress](https://www.rosehosting.com/blog/script-install-wordpress-on-a-debianubuntu-vps/) and some [basic shell commands](https://www.rosehosting.com/blog/basic-shell-commands-after-putty-ssh-logon/)
|
- Linux tutorials, guides and how-tos: [RoseHosting Blog](https://www.rosehosting.com/blog/), [bash script for installing WordPress](https://www.rosehosting.com/blog/script-install-wordpress-on-a-debianubuntu-vps/) and some [basic shell commands](https://www.rosehosting.com/blog/basic-shell-commands-after-putty-ssh-logon/)
|
||||||
- [Bashphorism list from the Bash IRC channel on Freenode](/misc/bashphorisms)
|
- [Bashphorism list from the Bash IRC channel on Freenode](misc/bashphorisms.md)
|
||||||
- [Some more or less funny commandline stuff](/misc/shell_humor)
|
- [Some more or less funny commandline stuff](misc/shell_humor.md)
|
||||||
- [How to Enable SSH on Ubuntu Tutorial](https://thishosting.rocks/how-to-enable-ssh-on-ubuntu/)
|
- [How to Enable SSH on Ubuntu Tutorial](https://thishosting.rocks/how-to-enable-ssh-on-ubuntu/)
|
||||||
- [How To Make an Awesome Custom Shell with ZSH](https://linuxstans.com/how-to-make-an-awesome-custom-shell-with-zsh/)
|
- [How To Make an Awesome Custom Shell with ZSH](https://linuxstans.com/how-to-make-an-awesome-custom-shell-with-zsh/)
|
||||||
|
|
||||||
@ -253,7 +253,7 @@ Visit us in [ircs://irc.libera.chat:6697](ircs://irc.libera.chat:6697), channel
|
|||||||
If you have critiques or suggestions, please feel free to send a mail using the contact form on the right.
|
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.
|
Note that there is a simple discussion option below every article.
|
||||||
|
|
||||||
Please also see the [imprint](/user/thebonsai/imprint) if you have problems with the site and its contents (legality, ...)!
|
Please also see the [imprint](user/thebonsai/imprint.md) if you have problems with the site and its contents (legality, ...)!
|
||||||
|
|
||||||
It also would be nice to drop a line when
|
It also would be nice to drop a line when
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user