mirror of
https://github.com/flokoe/bash-hackers-wiki.git
synced 2024-11-01 06:53:05 +01:00
Fix "relative links target not found" warnings
This commit is contained in:
parent
9b7adabbaf
commit
45b56ae6c6
@ -138,7 +138,7 @@ In the case of `eval` it isn't recommended to use this behavior,
|
|||||||
because unlike e.g. [declare](../../commands/builtin/declare.md), the initial
|
because unlike e.g. [declare](../../commands/builtin/declare.md), the initial
|
||||||
expansion is still subject to all expansions including
|
expansion is still subject to all expansions including
|
||||||
[word-splitting](../../syntax/expansion/wordsplit.md) and [pathname
|
[word-splitting](../../syntax/expansion/wordsplit.md) and [pathname
|
||||||
expansion](../../syntax/expansion/glob.md).
|
expansion](../../syntax/expansion/globs.md).
|
||||||
|
|
||||||
$ ( set -x; touch 'x+=(\[[123]\]=*)' 'x+=([3]=yo)'; eval x+=(*); echo "${x[@]}" )
|
$ ( set -x; touch 'x+=(\[[123]\]=*)' 'x+=([3]=yo)'; eval x+=(*); echo "${x[@]}" )
|
||||||
+ touch 'x+=(\[[123]\]=*)' 'x+=([3]=yo)'
|
+ touch 'x+=(\[[123]\]=*)' 'x+=([3]=yo)'
|
||||||
@ -151,7 +151,7 @@ expansion](../../syntax/expansion/glob.md).
|
|||||||
Other commands known to be affected by compound assignment arguments
|
Other commands known to be affected by compound assignment arguments
|
||||||
include: [let](../../commands/builtin/let.md),
|
include: [let](../../commands/builtin/let.md),
|
||||||
[declare](../../commands/builtin/declare.md),
|
[declare](../../commands/builtin/declare.md),
|
||||||
[typeset](../../commands/builtin/typeset.md), [local](../../commands/builtin/local.md),
|
`typeset`, [local](../../commands/builtin/local.md),
|
||||||
[export](../../commands/builtin/export.md), and
|
[export](../../commands/builtin/export.md), and
|
||||||
[readonly](../../commands/builtin/readonly.md). More oddities below show both
|
[readonly](../../commands/builtin/readonly.md). More oddities below show both
|
||||||
similarities and differences to commands like
|
similarities and differences to commands like
|
||||||
|
@ -43,4 +43,4 @@ executed the `exit` command, because the shell exits.
|
|||||||
## See also
|
## See also
|
||||||
|
|
||||||
- [The trap builtin command](../../commands/builtin/trap.md)
|
- [The trap builtin command](../../commands/builtin/trap.md)
|
||||||
- [The exit status](../../dict/terms/exit_status.md)
|
- [The exit status](../../dict/exit_status.md)
|
||||||
|
@ -32,4 +32,4 @@ comes back, there was a problem in doing the return.
|
|||||||
## See also
|
## See also
|
||||||
|
|
||||||
- [The exit builtin command](../../commands/builtin/exit.md)
|
- [The exit builtin command](../../commands/builtin/exit.md)
|
||||||
- [The exit status](../../dict/terms/exit_status.md)
|
- [The exit status](../../dict/exit_status.md)
|
||||||
|
@ -62,7 +62,7 @@ There are no options.
|
|||||||
errors.`$ dash -c 'f() { if shift; then echo "$1"; else echo "no args"; fi; }; f'
|
errors.`$ dash -c 'f() { if shift; then echo "$1"; else echo "no args"; fi; }; f'
|
||||||
dash: 1: shift: can't shift that many
|
dash: 1: shift: can't shift that many
|
||||||
` In most shells, you can work around this problem using the
|
` In most shells, you can work around this problem using the
|
||||||
[command](../../commands/builtin/command.md) builtin to suppress fatal
|
`command` builtin to suppress fatal
|
||||||
errors caused by *special builtins*. <code> \$ dash -c \'f() { if
|
errors caused by *special builtins*. <code> \$ dash -c \'f() { if
|
||||||
command shift 2>/dev/null; then echo \"\$1\"; else echo \"no
|
command shift 2>/dev/null; then echo \"\$1\"; else echo \"no
|
||||||
args\"; fi; }; f\'
|
args\"; fi; }; f\'
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Directory
|
# Directory
|
||||||
|
|
||||||
In terms of UNIX(r), a directory is a special file which contains a list
|
In terms of UNIX(r), a directory is a special file which contains a list
|
||||||
of [hardlinks](../dict/terms/hardlink.md) to other files. These other files
|
of [hardlinks](../dict/hardlink.md) to other files. These other files
|
||||||
also can be directories of course, so it's possible to create a
|
also can be directories of course, so it's possible to create a
|
||||||
\"hierarchy of directories\" - the UNIX(r)-typical filesystem structure.
|
\"hierarchy of directories\" - the UNIX(r)-typical filesystem structure.
|
||||||
|
|
||||||
@ -10,6 +10,6 @@ all other directory entries are **subdirectories** of it.
|
|||||||
|
|
||||||
## See also
|
## See also
|
||||||
|
|
||||||
- [hardlink](../dict/terms/hardlink.md)
|
- [hardlink](../dict/hardlink.md)
|
||||||
- [file](../dict/terms/file.md)
|
- [file](../dict/file.md)
|
||||||
- [special file](../dict/terms/special_file.md)
|
- [special file](../dict/special_file.md)
|
||||||
|
@ -1,24 +1,22 @@
|
|||||||
# File
|
# File
|
||||||
|
|
||||||
A file is a pool of data in the [filesystem](../dict/terms/filesystem.md). On
|
A file is a pool of data in the `filesystem`. On
|
||||||
userlevel, it's referenced using a name, a
|
userlevel, it's referenced using a name, a
|
||||||
[hardlink](../dict/terms/hardlink.md) to the file.
|
[hardlink](hardlink.md) to the file.
|
||||||
|
|
||||||
If a file is not referenced anymore (number of hardlinks to it drops to
|
If a file is not referenced anymore (number of hardlinks to it drops to
|
||||||
0) then the space allocated for that file is re-used, unless it's still
|
1) then the space allocated for that file is re-used, unless it's still
|
||||||
used by some process.
|
used by some process.
|
||||||
|
|
||||||
The file-data splits into actual payload (file contents) and some
|
The file-data splits into actual payload (file contents) and some
|
||||||
metadata like filesize, filemode or timestamps. The metadata is stored
|
metadata like filesize, filemode or timestamps. The metadata is stored
|
||||||
in the [inode](../dict/terms/inode.md).
|
in the `inode`.
|
||||||
|
|
||||||
Strictly spoken, a [hardlink](../dict/terms/hardlink.md) (also called
|
Strictly spoken, a [hardlink](hardlink.md) (also called
|
||||||
\"filename\") points to the [inode](../dict/terms/inode.md) which organizes a
|
\"filename\") points to the `inode` which organizes a
|
||||||
file, not to the file itself.
|
file, not to the file itself.
|
||||||
|
|
||||||
## See also
|
## See also
|
||||||
|
|
||||||
- [filesystem](../dict/terms/filesystem.md)
|
- [filetimes](filetimes.md)
|
||||||
- [filetimes](../dict/terms/filetimes.md)
|
- [hardlink](hardlink.md)
|
||||||
- [hardlink](../dict/terms/hardlink.md)
|
|
||||||
- [inode](../dict/terms/inode.md)
|
|
||||||
|
@ -23,8 +23,8 @@ which serves the same purpose.
|
|||||||
|
|
||||||
## See also
|
## See also
|
||||||
|
|
||||||
- [shell](../dict/terms/shell.md)
|
- [shell](../dict/shell.md)
|
||||||
- [hardlink](../dict/terms/hardlink.md)
|
- [hardlink](../dict/hardlink.md)
|
||||||
|
|
||||||
## See also (article)
|
## See also (article)
|
||||||
|
|
||||||
|
@ -4,16 +4,16 @@ Also the article for:
|
|||||||
|
|
||||||
- filename
|
- filename
|
||||||
|
|
||||||
A hardlink associates a *filename* with a [file](../dict/terms/file.md). That
|
A hardlink associates a *filename* with a [file](../dict/file.md). That
|
||||||
name is an entry in a directory listing. Of course a file can have more
|
name is an entry in a directory listing. Of course a file can have more
|
||||||
hardlinks to it (usually the number of hardlinks to a file is limited),
|
hardlinks to it (usually the number of hardlinks to a file is limited),
|
||||||
but all hardlinks to a file must reside on the same
|
but all hardlinks to a file must reside on the same
|
||||||
[filesystem](../dict/terms/filesystem.md) as the file itself!
|
`filesystem` as the file itself!
|
||||||
|
|
||||||
What you usually call a file is just a name for that file, and thus, a
|
What you usually call a file is just a name for that file, and thus, a
|
||||||
hardlink.
|
hardlink.
|
||||||
|
|
||||||
The difference between a [symbolic link](../dict/terms/symlink.md) and a hard
|
The difference between a [symbolic link](../dict/symlink.md) and a hard
|
||||||
link is that there is no easy way to differentiate between a \'real\'
|
link is that there is no easy way to differentiate between a \'real\'
|
||||||
file and a hard link, let's take a look at the example:
|
file and a hard link, let's take a look at the example:
|
||||||
|
|
||||||
@ -46,6 +46,5 @@ is freed when the last hard link pointing to it is deleted.
|
|||||||
|
|
||||||
## See also
|
## See also
|
||||||
|
|
||||||
- [file](../dict/terms/file.md)
|
- [file](../dict/file.md)
|
||||||
- [filesystem](../dict/terms/filesystem.md)
|
- [symlink](../dict/symlink.md)
|
||||||
- [symlink](../dict/terms/symlink.md)
|
|
||||||
|
@ -13,4 +13,4 @@ behaviour of the system shell and some utilities (commands).
|
|||||||
|
|
||||||
## See also
|
## See also
|
||||||
|
|
||||||
- Dictionary, internal: [shell](../dict/terms/shell.md)
|
- Dictionary, internal: [shell](../dict/shell.md)
|
||||||
|
@ -14,6 +14,6 @@ too.
|
|||||||
|
|
||||||
## See also
|
## See also
|
||||||
|
|
||||||
- [file](../dict/terms/file.md)
|
- [file](../dict/file.md)
|
||||||
- [filename](../dict/terms/hardlink.md)
|
- [filename](../dict/hardlink.md)
|
||||||
- [directory](../dict/terms/directory.md)
|
- [directory](../dict/directory.md)
|
||||||
|
@ -10,6 +10,5 @@ it can
|
|||||||
|
|
||||||
## See also
|
## See also
|
||||||
|
|
||||||
- [hardlink](../dict/terms/hardlink.md)
|
- [hardlink](../dict/hardlink.md)
|
||||||
- [filesystem](../dict/terms/filesystem.md)
|
- [directory](../dict/directory.md)
|
||||||
- [directory](../dict/terms/directory.md)
|
|
||||||
|
@ -93,7 +93,7 @@ left to parse, it's easy to use in a while-loop:
|
|||||||
parsing on the first non-option argument (a string that doesn't begin
|
parsing on the first non-option argument (a string that doesn't begin
|
||||||
with a hyphen (`-`) that isn't an argument for any option in front of
|
with a hyphen (`-`) that isn't an argument for any option in front of
|
||||||
it). It will also stop parsing when it sees the `--` (double-hyphen),
|
it). It will also stop parsing when it sees the `--` (double-hyphen),
|
||||||
which means [end of options](../dict/terms/end_of_options.md).
|
which means [end of options](../dict/end_of_options.md).
|
||||||
|
|
||||||
### Used variables
|
### Used variables
|
||||||
|
|
||||||
|
@ -92,7 +92,7 @@ atomic. Maybe a while loop checking continously for the existence of the
|
|||||||
lock in the background and sending a signal such as USR1, if the
|
lock in the background and sending a signal such as USR1, if the
|
||||||
directory is not found, can be done. The signal would need to be
|
directory is not found, can be done. The signal would need to be
|
||||||
trapped. I am sure there there is a better solution than this
|
trapped. I am sure there there is a better solution than this
|
||||||
suggestion* --- *[sn18](sunny_delhi18@yahoo.com) 2009/12/19 08:24*
|
suggestion* --- **sn18** 2009/12/19 08:24*
|
||||||
|
|
||||||
**Note:** While perusing the Internet, I found some people asking if the
|
**Note:** While perusing the Internet, I found some people asking if the
|
||||||
`mkdir` method works \"on all filesystems\". Well, let's say it should.
|
`mkdir` method works \"on all filesystems\". Well, let's say it should.
|
||||||
|
@ -663,7 +663,7 @@ recommendations:
|
|||||||
<!-- -->
|
<!-- -->
|
||||||
```
|
```
|
||||||
- **Never** use the Csh `&>foo` and `>&foo` shorthand redirects. Use
|
- **Never** use the Csh `&>foo` and `>&foo` shorthand redirects. Use
|
||||||
the long form `>foo 2>&1`. (see: [obsolete](../obsolete.md))
|
the long form `>foo 2>&1`. (see: [obsolete](../scripting/obsolete.md))
|
||||||
|
|
||||||
```{=html}
|
```{=html}
|
||||||
<!-- -->
|
<!-- -->
|
||||||
|
@ -52,7 +52,7 @@ See also [some Bash source code excerpts](misc/readthesourceluke.md).
|
|||||||
|
|
||||||
## How to
|
## How to
|
||||||
|
|
||||||
[Doing specific tasks: concepts, methods, ideas](howto/start.md):
|
Doing specific tasks: concepts, methods, ideas:
|
||||||
|
|
||||||
- [Simple locking (against parallel run.md)](howto/mutex.md)
|
- [Simple locking (against parallel run.md)](howto/mutex.md)
|
||||||
- [Rudimentary config files for your scripts](howto/conffile.md)
|
- [Rudimentary config files for your scripts](howto/conffile.md)
|
||||||
@ -163,10 +163,10 @@ 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.md) | "true" null command. | `true` | special builtin |
|
| `colon` | "true" null command. | `true` | special builtin |
|
||||||
| [dot](commands/builtin/source.md) | Source external files. | `source` | special builtin |
|
| `.` (dot) | Source external files. | `source` | special builtin |
|
||||||
| [false](commands/builtin/false.md) | Fail at doing nothing. | | builtin |
|
| `false` | Fail at doing nothing. | | builtin |
|
||||||
| [continue / break](commands/builtin/continueBreak.md) | continue with or break out of loops. | | special builtin |
|
| `continue / break` | continue with or break out of loops. | | special builtin |
|
||||||
| [let](commands/builtin/let.md) | Arithmetic evaluation simple command. | | builtin |
|
| [let](commands/builtin/let.md) | Arithmetic evaluation simple command. | | builtin |
|
||||||
| [return](commands/builtin/return.md) | 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.md) | The classic `test` simple command. | `test` | builtin |
|
| [[]](commands/classictest.md) | The classic `test` simple command. | `test` | builtin |
|
||||||
@ -182,12 +182,13 @@ These are provided directly by the shell, rather than invoked as standalone exte
|
|||||||
| [exit](commands/builtin/exit.md) | Exit the shell. | | special builtin |
|
| [exit](commands/builtin/exit.md) | Exit the shell. | | special builtin |
|
||||||
| [trap](commands/builtin/trap.md) | 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.md) | Send a signal to specified process(es.md) | | builtin |
|
| [kill](commands/builtin/kill.md) | Send a signal to specified process(es.md) | | builtin |
|
||||||
| [times](commands/builtin/times.md) | Display process times. | | special builtin |
|
|`times` | Display process times. | | special builtin |
|
||||||
| [wait](commands/builtin/wait.md) | 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.md).
|
A list of expressions, words, and their meanings can be found under the *Dict*
|
||||||
|
tab.
|
||||||
|
|
||||||
## Links
|
## Links
|
||||||
|
|
||||||
@ -252,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.md) if you have problems with the site and its contents (legality, ...)!
|
Please also see the imprint 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
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ Option-switch parsing (e.g. `-h` for displaying help) is not performed
|
|||||||
at this point.
|
at this point.
|
||||||
|
|
||||||
See also [the dictionary entry for
|
See also [the dictionary entry for
|
||||||
\"parameter\"](../dict/terms/parameter.md).
|
\"parameter\"](../dict/parameter.md).
|
||||||
|
|
||||||
## The first argument
|
## The first argument
|
||||||
|
|
||||||
@ -403,4 +403,4 @@ There is a [small tutorial dedicated to
|
|||||||
- Internal: [Substring expansion on a
|
- Internal: [Substring expansion on a
|
||||||
parameter](../syntax/pe.md#substring_expansion) (for equivalent syntax
|
parameter](../syntax/pe.md#substring_expansion) (for equivalent syntax
|
||||||
for mass-expansion)
|
for mass-expansion)
|
||||||
- Dictionary, internal: [parameter](../dict/terms/parameter.md)
|
- Dictionary, internal: [parameter](../dict/parameter.md)
|
||||||
|
@ -278,8 +278,8 @@ The basic structure of a script simply reads:
|
|||||||
|
|
||||||
### The shebang
|
### The shebang
|
||||||
|
|
||||||
If possible (I know it's not always possible!), use [a
|
If possible (I know it's not always possible!), use a
|
||||||
shebang](../dict/terms/shebang.md).
|
[shebang](../dict/interpreter_directive.md).
|
||||||
|
|
||||||
Be careful with `/bin/sh`: The argument that \"on Linux `/bin/sh` is
|
Be careful with `/bin/sh`: The argument that \"on Linux `/bin/sh` is
|
||||||
Bash\" **is a lie** (and technically irrelevant)
|
Bash\" **is a lie** (and technically irrelevant)
|
||||||
@ -358,7 +358,7 @@ Example:
|
|||||||
|
|
||||||
### Exit meaningfully
|
### Exit meaningfully
|
||||||
|
|
||||||
The [exit code](../dict/terms/exit_status.md) is your only way to directly
|
The [exit code](../dict/exit_status.md) is your only way to directly
|
||||||
communicate with the calling process without any special provisions.
|
communicate with the calling process without any special provisions.
|
||||||
|
|
||||||
If your script exits, provide a meaningful exit code. That minimally
|
If your script exits, provide a meaningful exit code. That minimally
|
||||||
|
@ -119,7 +119,7 @@ syntax:
|
|||||||
|
|
||||||
FIXME Missing an additional article about list operators
|
FIXME Missing an additional article about list operators
|
||||||
|
|
||||||
A list is a sequence of one or more [pipelines](../basicgrammar.md#pipelines)
|
A list is a sequence of one or more [pipelines](#pipelines)
|
||||||
separated by one of the operators `;`, `&`, `&&`, or `││`, and
|
separated by one of the operators `;`, `&`, `&&`, or `││`, and
|
||||||
optionally terminated by one of `;`, `&`, or `<newline>`.
|
optionally terminated by one of `;`, `&`, or `<newline>`.
|
||||||
|
|
||||||
@ -176,7 +176,7 @@ overview):
|
|||||||
FIXME Missing an additional article about shell functions
|
FIXME Missing an additional article about shell functions
|
||||||
|
|
||||||
A shell function definition makes a [compound
|
A shell function definition makes a [compound
|
||||||
command](../basicgrammar.md#compound_commands) available via a new name. When
|
command](#compound_commands) available via a new name. When
|
||||||
the function runs, it has its own \"private\" set of positional
|
the function runs, it has its own \"private\" set of positional
|
||||||
parameters and I/O descriptors. It acts like a script-within-the-script.
|
parameters and I/O descriptors. It acts like a script-within-the-script.
|
||||||
Simply stated: **You\'ve created a new command.**
|
Simply stated: **You\'ve created a new command.**
|
||||||
@ -191,7 +191,7 @@ looks like:
|
|||||||
print_help() { echo "Sorry, no help available"; }
|
print_help() { echo "Sorry, no help available"; }
|
||||||
|
|
||||||
As above, a function definition can have any [compound
|
As above, a function definition can have any [compound
|
||||||
command](../basicgrammar.md#compound_commands) as a body. Structures like
|
command](#compound_commands) as a body. Structures like
|
||||||
|
|
||||||
countme() for ((x=1;x<=9;x++)); do echo $x; done
|
countme() for ((x=1;x<=9;x++)); do echo $x; done
|
||||||
|
|
||||||
@ -273,17 +273,17 @@ Weird function names should not be used. Quote from the maintainer:
|
|||||||
|
|
||||||
## Grammar summary
|
## Grammar summary
|
||||||
|
|
||||||
- a [simple command](../basicgrammar.md#simple_commands) is just a command
|
- a [simple command](#simple_commands) is just a command
|
||||||
and its arguments
|
and its arguments
|
||||||
- a [pipeline](../basicgrammar.md#pipelines) is one or more [simple
|
- a [pipeline](#pipelines) is one or more [simple
|
||||||
command](../basicgrammar.md#simple_commands) probably connected in a pipe
|
command](#simple_commands) probably connected in a pipe
|
||||||
- a [list](../basicgrammar.md#lists) is one or more
|
- a [list](#lists) is one or more
|
||||||
[pipelines](../basicgrammar.md#pipelines) connected by special operators
|
[pipelines](#pipelines) connected by special operators
|
||||||
- a [compound command](../basicgrammar.md#compound_commands) is a
|
- a [compound command](#compound_commands) is a
|
||||||
[list](../basicgrammar.md#lists) or a special command that forms a new
|
[list](#lists) or a special command that forms a new
|
||||||
meta-command
|
meta-command
|
||||||
- a [function definition](../basicgrammar.md#shell_function_definitions)
|
- a [function definition](#shell_function_definitions)
|
||||||
makes a [compound command](../basicgrammar.md#compound_commands) available
|
makes a [compound command](#compound_commands) available
|
||||||
under a new name, and a separate environment
|
under a new name, and a separate environment
|
||||||
|
|
||||||
## Examples for classification
|
## Examples for classification
|
||||||
@ -312,12 +312,12 @@ FIXME more\...
|
|||||||
cp mymusic.mp3 /data/mp3
|
cp mymusic.mp3 /data/mp3
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- the [compound command](../basicgrammar.md#compound_commands) for the `if`
|
- the [compound command](#compound_commands) for the `if`
|
||||||
clause
|
clause
|
||||||
- the [list](../basicgrammar.md#lists) that `if` **checks** actually
|
- the [list](#lists) that `if` **checks** actually
|
||||||
contains the [simple command](../basicgrammar.md#simple_commands)
|
contains the [simple command](#simple_commands)
|
||||||
`[ -d /data/mp3 ]`
|
`[ -d /data/mp3 ]`
|
||||||
- the [list](../basicgrammar.md#lists) that `if` **executes** contains a
|
- the [list](#lists) that `if` **executes** contains a
|
||||||
simple command (`cp mymusic.mp3 /data/mp3`)
|
simple command (`cp mymusic.mp3 /data/mp3`)
|
||||||
|
|
||||||
Let's invert test command exit code, only one thing changes:
|
Let's invert test command exit code, only one thing changes:
|
||||||
@ -326,8 +326,8 @@ Let's invert test command exit code, only one thing changes:
|
|||||||
cp mymusic.mp3 /data/mp3
|
cp mymusic.mp3 /data/mp3
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- the [list](../basicgrammar.md#lists) that `if` **checks** contains a
|
- the [list](#lists) that `if` **checks** contains a
|
||||||
[pipeline](../basicgrammar.md#pipelines) now (because of the `!`)
|
[pipeline](#pipelines) now (because of the `!`)
|
||||||
|
|
||||||
## See also
|
## See also
|
||||||
|
|
||||||
|
@ -51,11 +51,11 @@ behaves as if it would be 1 (**TRUE** in arithmetic context).
|
|||||||
:!: Like all loops (Both types of `for`-loop, `while` and `until`), this
|
:!: Like all loops (Both types of `for`-loop, `while` and `until`), this
|
||||||
loop can be:
|
loop can be:
|
||||||
|
|
||||||
- Terminated (broken) by the [break](../../commands/builtin/continuebreak.md)
|
- Terminated (broken) by the `break`
|
||||||
builtin, optionally as `break N` to break out of `N` levels of
|
builtin, optionally as `break N` to break out of `N` levels of
|
||||||
nested loops.
|
nested loops.
|
||||||
- Forced immediately to the next iteration using the
|
- Forced immediately to the next iteration using the
|
||||||
[continue](../../commands/builtin/continuebreak.md) builtin, optionally as
|
`continue` builtin, optionally as
|
||||||
the `continue N` analog to `break N`.
|
the `continue N` analog to `break N`.
|
||||||
|
|
||||||
The equivalent construct using a [while loop](../../syntax/ccmd/while_loop.md)
|
The equivalent construct using a [while loop](../../syntax/ccmd/while_loop.md)
|
||||||
@ -70,7 +70,7 @@ command](../../syntax/ccmd/arithmetic_eval.md) would be structured as:
|
|||||||
|
|
||||||
The equivalent `while` construct isn't exactly the same, because both,
|
The equivalent `while` construct isn't exactly the same, because both,
|
||||||
the `for` and the `while` loop behave differently in case you use the
|
the `for` and the `while` loop behave differently in case you use the
|
||||||
[continue](../../commands/builtin/continuebreak.md) command.
|
`continue` command.
|
||||||
|
|
||||||
### Alternate syntax
|
### Alternate syntax
|
||||||
|
|
||||||
|
@ -8,8 +8,8 @@ them. That is what the essential \"Bash language\" is made of.
|
|||||||
|
|
||||||
## Command grouping
|
## Command grouping
|
||||||
|
|
||||||
- grouping: [command grouping](../../grouping_plain.md)
|
- grouping: [command grouping](grouping_plain.md)
|
||||||
- grouping again: [command grouping in a subshell](../../grouping_subshell.md)
|
- grouping again: [command grouping in a subshell](grouping_subshell.md)
|
||||||
|
|
||||||
## Conditional reactions
|
## Conditional reactions
|
||||||
|
|
||||||
@ -18,18 +18,18 @@ Note that conditionals can also be scripted using
|
|||||||
commands.
|
commands.
|
||||||
|
|
||||||
- the \"new\" test command: [conditional
|
- the \"new\" test command: [conditional
|
||||||
expression](../../conditional_expression.md)
|
expression](conditional_expression.md)
|
||||||
- if-clause: [conditional branching](../../if_clause.md)
|
- if-clause: [conditional branching](if_clause.md)
|
||||||
- case statement: [pattern-based branching](../../case.md)
|
- case statement: [pattern-based branching](case.md)
|
||||||
|
|
||||||
## Loops
|
## Loops
|
||||||
|
|
||||||
- [classic for-loop](../../classic_for.md)
|
- [classic for-loop](classic_for.md)
|
||||||
- [C-style for-loop](../../c_for.md)
|
- [C-style for-loop](c_for.md)
|
||||||
- [while loop](../../while_loop.md)
|
- [while loop](while_loop.md)
|
||||||
- [until loop](../../until_loop.md)
|
- [until loop](until_loop.md)
|
||||||
|
|
||||||
## Misc
|
## Misc
|
||||||
|
|
||||||
- math: [arithmetic evaluation](../../arithmetic_eval.md)
|
- math: [arithmetic evaluation](arithmetic_eval.md)
|
||||||
- menus: [user selections](../../user_select.md)
|
- menus: [user selections](user_select.md)
|
||||||
|
@ -170,7 +170,7 @@ See the above section on [#scope](#scope)
|
|||||||
not (yet) pdksh derivatives (mksh). Coprocesses may be used instead.
|
not (yet) pdksh derivatives (mksh). Coprocesses may be used instead.
|
||||||
- Process substitution is supported only on systems that support
|
- Process substitution is supported only on systems that support
|
||||||
either named pipes (FIFO - a [special
|
either named pipes (FIFO - a [special
|
||||||
file](../../dict/terms/special_file.md)) or the `/dev/fd/*` method for
|
file](../../dict/special_file.md)) or the `/dev/fd/*` method for
|
||||||
accessing open files. If the system doesn't support `/dev/fd/*`,
|
accessing open files. If the system doesn't support `/dev/fd/*`,
|
||||||
Bash falls back to creating named pipes. Note that not all shells
|
Bash falls back to creating named pipes. Note that not all shells
|
||||||
that support process substitution have that fallback.
|
that support process substitution have that fallback.
|
||||||
|
@ -46,7 +46,7 @@ applicable description mentions arrays below. Please also see the
|
|||||||
[article about arrays](../syntax/arrays.md).
|
[article about arrays](../syntax/arrays.md).
|
||||||
|
|
||||||
For a more technical view what a parameter is and which types exist,
|
For a more technical view what a parameter is and which types exist,
|
||||||
[see the dictionary entry for \"parameter\"](../dict/terms/parameter.md).
|
[see the dictionary entry for \"parameter\"](../dict/parameter.md).
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
@ -1071,4 +1071,4 @@ the difference may introduce a possible compatibility problem.
|
|||||||
- Internal: [Introduction to expansion and
|
- Internal: [Introduction to expansion and
|
||||||
substitution](../syntax/expansion/intro.md)
|
substitution](../syntax/expansion/intro.md)
|
||||||
- Internal: [Arrays](../syntax/arrays.md)
|
- Internal: [Arrays](../syntax/arrays.md)
|
||||||
- Dictionary, internal: [parameter](../dict/terms/parameter.md)
|
- Dictionary, internal: [parameter](../dict/parameter.md)
|
||||||
|
@ -88,8 +88,8 @@ list of aliases as maintained by the alias builtin. Elements added to
|
|||||||
this array appear in the alias list; unsetting array elements cause
|
this array appear in the alias list; unsetting array elements cause
|
||||||
aliases to be removed from the alias list.
|
aliases to be removed from the alias list.
|
||||||
|
|
||||||
The associative key is the name of the alias as used with the [alias
|
The associative key is the name of the alias as used with the `alias`
|
||||||
builtin command](../commands/builtin/alias.md).
|
builtin command.
|
||||||
|
|
||||||
### BASH_ARGC
|
### BASH_ARGC
|
||||||
|
|
||||||
@ -102,8 +102,8 @@ An array variable whose values are the number of parameters in each
|
|||||||
frame of the current Bash execution call stack.
|
frame of the current Bash execution call stack.
|
||||||
|
|
||||||
The number of parameters to the current subroutine (shell function or
|
The number of parameters to the current subroutine (shell function or
|
||||||
script executed with [`.` or `source` builtin
|
script executed with `.` or `source` builtin
|
||||||
command](../commands/builtin/source.md)) is at the top of the stack. When a
|
command) is at the top of the stack. When a
|
||||||
subroutine is executed, the number of parameters passed is pushed onto
|
subroutine is executed, the number of parameters passed is pushed onto
|
||||||
`BASH_ARGC`.
|
`BASH_ARGC`.
|
||||||
|
|
||||||
@ -144,13 +144,13 @@ subsequently reset.
|
|||||||
Set by Bash: yes Default: n/a
|
Set by Bash: yes Default: n/a
|
||||||
|
|
||||||
An associative array variable whose members correspond to the internal
|
An associative array variable whose members correspond to the internal
|
||||||
hash table of commands as maintained by the [hash builtin
|
hash table of commands as maintained by the `hash` builtin
|
||||||
command](../commands/builtin/hash.md). Elements added to this array appear in
|
command. Elements added to this array appear in
|
||||||
the hash table; unsetting array elements cause commands to be removed
|
the hash table; unsetting array elements cause commands to be removed
|
||||||
from the hash table.
|
from the hash table.
|
||||||
|
|
||||||
The associative key is the name of the command as used with the[hash
|
The associative key is the name of the command as used with the `hash`
|
||||||
builtin command](../commands/builtin/hash.md).
|
builtin command.
|
||||||
|
|
||||||
### BASH_COMMAND
|
### BASH_COMMAND
|
||||||
|
|
||||||
@ -573,8 +573,8 @@ The previous working directory as set by the cd command.
|
|||||||
Type: normal variable Read-only: no
|
Type: normal variable Read-only: no
|
||||||
Set by Bash: yes Default: n/a
|
Set by Bash: yes Default: n/a
|
||||||
|
|
||||||
The value of the last option argument processed by the [getopts builtin
|
The value of the last option argument processed by the `getopts` builtin
|
||||||
command](../commands/builtin/getopts.md).
|
command.
|
||||||
|
|
||||||
### OPTIND
|
### OPTIND
|
||||||
|
|
||||||
@ -583,8 +583,8 @@ command](../commands/builtin/getopts.md).
|
|||||||
Type: integer variable Read-only: no
|
Type: integer variable Read-only: no
|
||||||
Set by Bash: yes Default: n/a
|
Set by Bash: yes Default: n/a
|
||||||
|
|
||||||
The index of the next argument to be processed by the [getopts builtin
|
The index of the next argument to be processed by the `getopts` builtin
|
||||||
command](../commands/builtin/getopts.md).
|
command.
|
||||||
|
|
||||||
### OSTYPE
|
### OSTYPE
|
||||||
|
|
||||||
@ -828,7 +828,7 @@ Similar to `BASH_ENV`: Used when the shell is invoked in POSIX(r) mode.
|
|||||||
Type: normal variable Read-only: no
|
Type: normal variable Read-only: no
|
||||||
Set by Bash: no Default: n/a
|
Set by Bash: no Default: n/a
|
||||||
|
|
||||||
The default editor for the [fc builtin command](../commands/builtin/fc.md).
|
The default editor for the `fc` builtin command.
|
||||||
|
|
||||||
### FIGNORE
|
### FIGNORE
|
||||||
|
|
||||||
@ -1177,7 +1177,7 @@ Example content:
|
|||||||
Set by Bash: yes Default: 1 (set on startup)
|
Set by Bash: yes Default: 1 (set on startup)
|
||||||
|
|
||||||
If set to the value 1, Bash displays error messages generated by the
|
If set to the value 1, Bash displays error messages generated by the
|
||||||
[getopts builtin command](../commands/builtin/getopts.md).
|
`getopts` builtin command.
|
||||||
|
|
||||||
`OPTERR` is initialized to 1 each time the shell is invoked or a shell
|
`OPTERR` is initialized to 1 each time the shell is invoked or a shell
|
||||||
script is executed.
|
script is executed.
|
||||||
@ -1370,7 +1370,7 @@ A trailing newline is added when the format string is displayed.
|
|||||||
If set to a value greater than zero, `TMOUT` is treated as the default
|
If set to a value greater than zero, `TMOUT` is treated as the default
|
||||||
timeout for the [read builtin command](../commands/builtin/read.md).
|
timeout for the [read builtin command](../commands/builtin/read.md).
|
||||||
|
|
||||||
The [select command](../commands/builtin/select.md) terminates if input does
|
The `select` command terminates if input does
|
||||||
not arrive after `TMOUT` seconds when input is coming from a terminal.
|
not arrive after `TMOUT` seconds when input is coming from a terminal.
|
||||||
|
|
||||||
In an interactive shell, the value is interpreted as the number of
|
In an interactive shell, the value is interpreted as the number of
|
||||||
|
Loading…
Reference in New Issue
Block a user