¿Qué es $$ en bash?

¿Qué es $$ en bash?

Hay un script que desarrollé con él, tiene una línea de comando como la siguiente:

mytemp=`echo ${sourcedir}|awk -F/ '{printf "/%s/tmp",$2}'`/`basename $0`-$1.$$

al final del comando vemos $$que produce un número. cuando lo uso echo $$en bash también veo un número como el siguiente:

 #echo $$
 23019

¿Qué es exactamente este número y qué es $$?

Respuesta1

DeGuía avanzada de secuencias de comandos Bash:

$$ es el ID del proceso (PID) del propio script.

$BASHPID es el ID del proceso de la instancia actual de Bash. Esto no es lo mismo que la variable $$, pero a menudo da el mismo resultado.

Respuesta2

$$es el ID del proceso de la instancia de shell actual. Entonces, en su caso, el número 23019 es el PID de esa instancia de bash.

Lo siguiente debería darle una mejor idea:

ps -p $$

información relacionada