Fix hyperlinks of docs/index.md so that it would work with markdown

pages that already exist.

Related to https://github.com/flokoe/bash-hackers-wiki/issues/10
This commit is contained in:
Hanson Char 2024-01-27 16:49:21 -08:00
parent 38ce4d6853
commit 52f7443676

View File

@ -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