o que é $$ no bash? [duplicado]

19

existe um script que eu desenvolvi com ele, tem uma linha de comando como abaixo:

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

no último comando, vemos $$ , que produz um número. quando eu uso echo $$ no bash eu também vejo um número como abaixo:

 #echo $$
 23019

qual é exatamente esse número e o que é $$ ?

    
por amir jj 23.06.2016 / 10:43

2 respostas

22

De Guia avançado de script de script:

$$ is the process ID (PID) of the script itself.

$BASHPID is the process ID of the current instance of Bash. This is not the same as the $$ variable, but it often gives the same result.

    
por 23.06.2016 / 11:10
6

$$ é o ID do processo da instância atual do shell. Portanto, no seu caso, o número 23019 é o PID dessa instância de bash .

O texto a seguir deve fornecer uma ideia melhor:

ps -p $$
    
por 23.06.2016 / 10:45