diff --git a/docs/howto/calculate-dc.md b/docs/howto/calculate-dc.md index e132f03..c5605bc 100644 --- a/docs/howto/calculate-dc.md +++ b/docs/howto/calculate-dc.md @@ -1,6 +1,13 @@ -# Calculating with dc +--- +tags: + - bash + - shell + - scripting + - arithmetic + - calculate +--- -![](keywords>bash shell scripting arithmetic calculate) +# Calculating with dc ## Introduction diff --git a/docs/howto/collapsing_functions.md b/docs/howto/collapsing_functions.md index 34a774e..0d699b9 100644 --- a/docs/howto/collapsing_functions.md +++ b/docs/howto/collapsing_functions.md @@ -1,6 +1,14 @@ -# Collapsing Functions +--- +tags: + - bash + - shell + - scripting + - example + - function + - collapse +--- -![](keywords>bash shell scripting example function collapse) +# Collapsing Functions ## What is a \"Collapsing Function\"? diff --git a/docs/howto/conffile.md b/docs/howto/conffile.md index 0daad90..5360986 100644 --- a/docs/howto/conffile.md +++ b/docs/howto/conffile.md @@ -1,6 +1,15 @@ -# Config files for your script +--- +tags: + - bash + - shell + - scripting + - config + - files + - include + - configuration +--- -![](keywords>bash shell scripting config files include configuration) +# Config files for your script ## General diff --git a/docs/howto/edit-ed.md b/docs/howto/edit-ed.md index b139952..283aca6 100644 --- a/docs/howto/edit-ed.md +++ b/docs/howto/edit-ed.md @@ -1,6 +1,17 @@ -# Editing files via scripts with ed +--- +tags: + - bash + - shell + - scripting + - arguments + - file + - editor + - edit + - ed + - sed +--- -![](keywords>bash shell scripting arguments file editor edit ed sed) +# Editing files via scripts with ed ## Why ed? diff --git a/docs/howto/getopts_tutorial.md b/docs/howto/getopts_tutorial.md index 168f76d..2ae00f0 100644 --- a/docs/howto/getopts_tutorial.md +++ b/docs/howto/getopts_tutorial.md @@ -1,6 +1,17 @@ -# Small getopts tutorial +--- +tags: + - bash + - shell + - scripting + - arguments + - positional + - parameters + - options + - getopt + - getopts +--- -![](keywords>bash shell scripting arguments positional parameters options getopt getopts) +# Small getopts tutorial ## Description diff --git a/docs/howto/mutex.md b/docs/howto/mutex.md index 3fa3114..99acf44 100644 --- a/docs/howto/mutex.md +++ b/docs/howto/mutex.md @@ -1,6 +1,14 @@ -# Lock your script (against parallel execution) +--- +tags: + - bash + - shell + - scripting + - mutex + - locking + - run-control +--- -![](keywords>bash shell scripting mutex locking run-control) +# Lock your script (against parallel execution) ## Why lock? diff --git a/docs/howto/pax.md b/docs/howto/pax.md index dd209af..507cbaa 100644 --- a/docs/howto/pax.md +++ b/docs/howto/pax.md @@ -1,6 +1,16 @@ -# pax - the POSIX archiver +--- +tags: + - bash + - shell + - scripting + - POSIX + - archive + - tar + - packing + - zip +--- -![](keywords>bash shell scripting POSIX archive tar packing zip) +# pax - the POSIX archiver pax can do a lot of fancy stuff, feel free to contribute more awesome pax tricks! diff --git a/docs/howto/redirection_tutorial.md b/docs/howto/redirection_tutorial.md index 7bfa892..c51324e 100644 --- a/docs/howto/redirection_tutorial.md +++ b/docs/howto/redirection_tutorial.md @@ -1,6 +1,16 @@ -# Illustrated Redirection Tutorial +--- +tags: + - bash + - shell + - scripting + - tutorial + - redirection + - redirect + - file + - descriptor +--- -![](keywords>bash shell scripting tutorial redirection redirect file descriptor) +# Illustrated Redirection Tutorial This tutorial is not a complete guide to redirection, it will not cover here docs, here strings, name pipes etc\... I just hope it\'ll help you diff --git a/docs/internals/shell_options.md b/docs/internals/shell_options.md index a0611da..50fd0d5 100644 --- a/docs/internals/shell_options.md +++ b/docs/internals/shell_options.md @@ -1,6 +1,15 @@ -# List of shell options +--- +tags: + - bash + - shell + - scripting + - options + - runtime + - variable + - behaviour +--- -![](keywords>bash shell scripting options runtime variable behaviour) +# List of shell options This information was taken from a Bash version \"`4.1`\", every now and then new options are added, so likely, this list isn't complete. diff --git a/docs/scripting/bashbehaviour.md b/docs/scripting/bashbehaviour.md index fa8e846..974274a 100644 --- a/docs/scripting/bashbehaviour.md +++ b/docs/scripting/bashbehaviour.md @@ -1,6 +1,16 @@ -# Bash's behaviour +--- +tags: + - bash + - shell + - scripting + - startup + - files + - dotfiles + - modes + - POSIX +--- -![](keywords>bash shell scripting startup files dotfiles modes POSIX) +# Bash's behaviour FIXME incomplete diff --git a/docs/scripting/basics.md b/docs/scripting/basics.md index 9d7e884..f1f2778 100644 --- a/docs/scripting/basics.md +++ b/docs/scripting/basics.md @@ -1,6 +1,14 @@ -# The basics of shell scripting +--- +tags: + - bash + - shell + - scripting + - basics + - learning + - tutorial +--- -![](keywords>bash shell scripting basics learning tutorial) +# The basics of shell scripting ## Script files diff --git a/docs/scripting/debuggingtips.md b/docs/scripting/debuggingtips.md index b0afe8e..fe25aff 100644 --- a/docs/scripting/debuggingtips.md +++ b/docs/scripting/debuggingtips.md @@ -1,6 +1,14 @@ -# Debugging a script +--- +tags: + - bash + - shell + - scripting + - bug + - debug + - debugging +--- -![](keywords>bash shell scripting bug debug debugging) +# Debugging a script These few lines are not intended as a full-fledged debugging tutorial, but as hints and comments about debugging a Bash script. diff --git a/docs/scripting/newbie_traps.md b/docs/scripting/newbie_traps.md index f5bbcb6..472c664 100644 --- a/docs/scripting/newbie_traps.md +++ b/docs/scripting/newbie_traps.md @@ -1,6 +1,14 @@ -# Beginner Mistakes +--- +tags: + - bash + - shell + - scripting + - pitfalls + - traps + - beginners +--- -![](keywords>bash shell scripting pitfalls traps beginners) +# Beginner Mistakes Here are some typical traps: diff --git a/docs/scripting/nonportable.md b/docs/scripting/nonportable.md index ca2aa6e..0b1e592 100644 --- a/docs/scripting/nonportable.md +++ b/docs/scripting/nonportable.md @@ -1,6 +1,14 @@ -# Portability talk +--- +tags: + - bash + - shell + - scripting + - portability + - POSIX + - portable +--- -![](keywords>bash shell scripting portability POSIX portable) +# Portability talk The script programming language of BASH is based on the Bourne Shell syntax, with some extensions and derivations. diff --git a/docs/scripting/obsolete.md b/docs/scripting/obsolete.md index 9a65c81..4215136 100644 --- a/docs/scripting/obsolete.md +++ b/docs/scripting/obsolete.md @@ -1,6 +1,14 @@ -# Obsolete and deprecated syntax +--- +tags: + - bash + - shell + - scripting + - obsolete + - deprecated + - outdated +--- -![](keywords>bash shell scripting obsolete deprecated outdated) +# Obsolete and deprecated syntax This (incomplete) page describes some syntax and commands considered obsolete by some measure. A thorough discussion of the rationale is diff --git a/docs/scripting/posparams.md b/docs/scripting/posparams.md index b3cb88a..faab5b5 100644 --- a/docs/scripting/posparams.md +++ b/docs/scripting/posparams.md @@ -1,6 +1,15 @@ -# Handling positional parameters +--- +tags: + - bash + - shell + - scripting + - arguments + - positional + - parameters + - options +--- -![](keywords>bash shell scripting arguments positional parameters options) +# Handling positional parameters ## Intro diff --git a/docs/scripting/processtree.md b/docs/scripting/processtree.md index 6ece590..cf0d262 100644 --- a/docs/scripting/processtree.md +++ b/docs/scripting/processtree.md @@ -1,6 +1,15 @@ -# Bash and the process tree +--- +tags: + - bash + - shell + - scripting + - processes + - pipes + - variables + - environment +--- -![](keywords>bash shell scripting processes pipes variables environment) +# Bash and the process tree ## The process tree diff --git a/docs/scripting/terminalcodes.md b/docs/scripting/terminalcodes.md index 991ed85..7eded0d 100644 --- a/docs/scripting/terminalcodes.md +++ b/docs/scripting/terminalcodes.md @@ -1,6 +1,16 @@ -# Terminal codes (ANSI/VT100) introduction +--- +tags: + - bash + - shell + - scripting + - colors + - cursor + - control + - vt100 + - ansi +--- -![](keywords>bash shell scripting colors cursor control vt100 ansi) +# Terminal codes (ANSI/VT100) introduction Terminal (control) codes are used to issue specific commands to your terminal. This can be related to switching colors or positioning the diff --git a/docs/syntax/arith_expr.md b/docs/syntax/arith_expr.md index c683401..f703835 100644 --- a/docs/syntax/arith_expr.md +++ b/docs/syntax/arith_expr.md @@ -1,6 +1,16 @@ -# Arithmetic expressions +--- +tags: + - bash + - shell + - scripting + - math + - arithmetic + - C + - calculation + - integer +--- -![](keywords>bash shell scripting math arithmetic C calculation integer) +# Arithmetic expressions Arithmetic expressions are used in several situations: diff --git a/docs/syntax/basicgrammar.md b/docs/syntax/basicgrammar.md index 5fd8d21..d3598df 100644 --- a/docs/syntax/basicgrammar.md +++ b/docs/syntax/basicgrammar.md @@ -1,6 +1,14 @@ -# Basic grammar rules of Bash +--- +tags: + - bash + - shell + - scripting + - grammar + - syntax + - language +--- -![](keywords>bash shell scripting grammar syntax language) +# Basic grammar rules of Bash Bash builds its features on top of a few basic **grammar rules**. The code you see everywhere, the code you use, is based on those rules. diff --git a/docs/syntax/expansion/brace.md b/docs/syntax/expansion/brace.md index fcc97e5..a4ab5cf 100644 --- a/docs/syntax/expansion/brace.md +++ b/docs/syntax/expansion/brace.md @@ -1,6 +1,16 @@ -# Brace expansion +--- +tags: + - bash + - shell + - scripting + - expansion + - substitution + - text + - list + - brace +--- -![](keywords>bash shell scripting expansion substitution text list brace) +# Brace expansion {string1,string2,...,stringN} {..} diff --git a/docs/syntax/expansion/cmdsubst.md b/docs/syntax/expansion/cmdsubst.md index 7457975..c5334dd 100644 --- a/docs/syntax/expansion/cmdsubst.md +++ b/docs/syntax/expansion/cmdsubst.md @@ -1,6 +1,22 @@ -# Command substitution +--- +tags: + - bash + - shell + - scripting + - expansion + - substitution + - text + - variable + - output + - execute + - stdout + - save + - result + - return + - value +--- -![](keywords>bash shell scripting expansion substitution text variable output execute stdout save result return value) +# Command substitution $( ) diff --git a/docs/syntax/expansion/intro.md b/docs/syntax/expansion/intro.md index cb1e3d4..2e5b2c5 100644 --- a/docs/syntax/expansion/intro.md +++ b/docs/syntax/expansion/intro.md @@ -1,6 +1,18 @@ -# Expansions and substitutions +--- +tags: + - bash + - shell + - scripting + - expansion + - substitution + - text + - variable + - filename + - macro + - wildcard +--- -![](keywords>bash shell scripting expansion substitution text variable filename macro wildcard) +# Expansions and substitutions Before executing your commands, Bash checks whether there are any syntax elements in the command line that should be interpreted rather than diff --git a/docs/syntax/expansion/proc_subst.md b/docs/syntax/expansion/proc_subst.md index 33da05b..3e08e39 100644 --- a/docs/syntax/expansion/proc_subst.md +++ b/docs/syntax/expansion/proc_subst.md @@ -1,6 +1,18 @@ -# Process substitution +--- +tags: + - bash + - shell + - scripting + - expansion + - substitution + - text + - stdin + - stdout + - save + - capture +--- -![](keywords>bash shell scripting expansion substitution text stdin stdout save capture) +# Process substitution Process substitution is a form of redirection where the input or output of a process (some sequence of commands) appear as a temporary file. diff --git a/docs/syntax/expansion/tilde.md b/docs/syntax/expansion/tilde.md index 1a872b9..0d4e5eb 100644 --- a/docs/syntax/expansion/tilde.md +++ b/docs/syntax/expansion/tilde.md @@ -1,6 +1,17 @@ -# Tilde expansion +--- +tags: + - bash + - shell + - scripting + - expansion + - substitution + - tilde + - home + - homedir + - shortcut +--- -![](keywords>bash shell scripting expansion substitution tilde home homedir shortcut) +# Tilde expansion ~ ~/... diff --git a/docs/syntax/grammar/parser_exec.md b/docs/syntax/grammar/parser_exec.md index 699c790..72275fb 100644 --- a/docs/syntax/grammar/parser_exec.md +++ b/docs/syntax/grammar/parser_exec.md @@ -1,9 +1,19 @@ +--- +tags: + - bash + - shell + - scripting + - syntax + - language + - behaviour + - executing + - execution +--- + FIXME work in progress\... # Parsing and execution -![](keywords>bash shell scripting syntax language behaviour executing execution) - Nearly everything in [Bash grammar](../../syntax/basicgrammar.md) can be broken down to a \"simple command\". The only thing Bash has to expand, evaluate and execute is the simple command. diff --git a/docs/syntax/pattern.md b/docs/syntax/pattern.md index 3b68b7c..274d8ea 100644 --- a/docs/syntax/pattern.md +++ b/docs/syntax/pattern.md @@ -1,6 +1,17 @@ -# Patterns and pattern matching +--- +tags: + - bash + - shell + - scripting + - glob + - globbing + - wildcards + - filename + - pattern + - matching +--- -![](keywords>bash shell scripting glob globbing wildcards filename pattern matching) +# Patterns and pattern matching A pattern is a **string description**. Bash uses them in various ways: diff --git a/docs/syntax/pe.md b/docs/syntax/pe.md index 33bf607..72086c9 100644 --- a/docs/syntax/pe.md +++ b/docs/syntax/pe.md @@ -1,6 +1,24 @@ -# Parameter expansion +--- +tags: + - bash + - shell + - scripting + - expansion + - substitution + - text + - variable + - parameter + - mangle + - substitute + - change + - check + - defined + - "null" + - array + - arrays +--- -![](keywords>bash shell scripting expansion substitution text variable parameter mangle substitute change check defined null array arrays) +# Parameter expansion ## Introduction diff --git a/docs/syntax/quoting.md b/docs/syntax/quoting.md index 6a4f126..c3955c0 100644 --- a/docs/syntax/quoting.md +++ b/docs/syntax/quoting.md @@ -1,6 +1,20 @@ -# Quotes and escaping +--- +tags: + - bash + - shell + - scripting + - quoting + - quotes + - escape + - backslash + - marks + - singlequotes + - doublequotes + - single + - double +--- -![](keywords>bash shell scripting quoting quotes escape backslash marks singlequotes doublequotes single double) +# Quotes and escaping Quoting and escaping are important, as they influence the way Bash acts upon your input. There are three recognized types: diff --git a/docs/syntax/words.md b/docs/syntax/words.md index d1018e2..1cbde31 100644 --- a/docs/syntax/words.md +++ b/docs/syntax/words.md @@ -1,6 +1,16 @@ -# Words\... +--- +tags: + - bash + - shell + - scripting + - token + - words + - split + - splitting + - recognition +--- -![](keywords>bash shell scripting token words split splitting recognition) +# Words\... FIXME This article needs a review, it covers two topics (command line splitting and word splitting) and mixes both a bit too much. But in