Čtu „BASH kapesního průvodce Oreilly“.
Stálo tam:
ID procesu aktuálního procesu Bash.
V některých případech se může lišit od $$.
Výše uvedené vysvětlení je vysvětleno $BASHPID
proměnná.
Otázka: které případy?
Přijatá odpověď:
Příklad je uveden v BASHPID
popis manpage bash:
BASHPID
Expands to the process id of the current bash process. This
differs from $$ under certain circumstances, such as subshells
that do not require bash to be re-initialized.
Zde je příklad subshell vypisujícího obsah proměnné spolu s $$
a obsah BASHPID
mimo subshell.
$ echo $(echo $BASHPID $$) $$ $BASHPID
25680 16920 16920 16920
# | | | |
# | | | -- $BASHPID outside of the subshell
# | | -- $$ outside of the subshell
# | -- $$ inside of the subshell
# -- $BASHPID inside of the subshell
Nastavení v Bash pro Globbing, pro kontrolu, zda * odpovídá tečkovým souborům?
Jaký způsob tisku hodnoty uvnitř proměnné uvnitř jediné nabídky?