Saída do eco $$ [duplicado]

3

A saída do comando echo $$ exibe algum número na saída padrão, como abaixo.

$ echo $$
14594

Qual é esse número? E também,

$ x=a
$ echo $x
a

No exemplo acima, echo $x analisa a variável xe exibe o valor de x na saída padrão. Da mesma forma, neste comando echo $$ , é que o segundo símbolo do dólar representa alguma variável?

    
por Avinash Raj 02.04.2014 / 16:32

2 respostas

3

$$ é o PID ( identificador de processo ) do shell atual (não do subshell). Dentro de um script, dentro de um subshell, $$ retorna o PID do script, não o subshell. Consulte Variáveis internas .

Você pode encontrar também o PID retornado pelo echo $$ no terminal na saída do seguinte comando:

ps ax | grep bash
    
por Radu Rădeanu 02.04.2014 / 16:39
2

$$ é uma das variáveis internas do bash. Ao contrário de $x , no seu exemplo, ele não "contém" um valor, o valor é solicitado a cada vez que você acessa a variável.

Em um script bash, retorna o id do processo do próprio script. Em um script, você pode chamar kill $$ para enviar SIGTERM ao seu script.

Em um bash shell, ele retorna o id do processo do bash em execução no momento.

Em um script bash, dentro de um subshell, ele retorna o id do processo do script, não o subshell.

    
por chaos 02.04.2014 / 16:59