Estoy leyendo "Guía de bolsillo BASH de Oreilly".
Decía:
El ID de proceso del proceso Bash actual.
En algunos casos, esto puede diferir de $$.
Explicación anterior, explicó $BASHPID
variables.
Pregunta: ¿Qué casos?
Respuesta aceptada:
Se proporciona un ejemplo en el BASHPID
descripción de la página de manual de 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.
Aquí hay un ejemplo de una subcapa que genera el contenido de la variable, junto con $$
y el contenido de BASHPID
fuera de la subcapa.
$ 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