「OreillyのBASHポケットガイド」を読んでいます。
次のように書かれています:
現在のBashプロセスのプロセスID。
場合によっては、これは$$とは異なる可能性があります。
上記の説明、$BASHPID
の説明 変数。
質問: どちらの場合ですか?
承認された回答:
例はBASHPID
にあります 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.
これは、変数の内容を$$
とともに出力するサブシェルの例です。 およびBASHPID
の内容 サブシェルの外側。
$ 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