Na verdade, estou brincando com argumentos e isso aconteceu. Eu apenas pensei em ver o que acontecerá se eu digitar $$1
e fiz e obtiver algo abaixo.
raja@raja-BONEFISH:~$ $$1
19301: command not found
O que significa 19301, está dizendo alguma coisa?
Bottom-Line: o que significa para o $$1
bash.
Respostas:
$$
é o PID (ID do processo) do processo atual.$$1
é o PID acima seguido pela string literal1
.Por isso, está dizendo que você
bash
é o processo com o PID 1930.Mas ... truque grátis:
(bastante complicado, não é?)
Mais informações em TLDP .
fonte
$$
- pid do shell atual (não subshell) - consulte Quais são as variáveis especiais do shell do cifrão?$$1
- pid do shell atual (não subshell) seguido por1
.$$2
- pid do shell atual (não subshell) seguido por2
.$$a
- pid do shell atual (não subshell) seguido peloa
caractere.E assim por diante...
Veja a saída de
echo $$1
.E você recebe o erro
command not found
porque está tentando executar uma sequência composta por dígitos que obviamente não é um comando.fonte
Você concatenou
$$
e1
reuniu-se para obter o PID do shell atual e1
, ou seja,$$
representa o PID do shell em execução no momento e1
é apenas um personagem, você poderia fazer$$a
,$$@
para obter o PID concatenado com o seguinte caractere.fonte
$$ indicará
1930
qual é o pid do shell atual.Quando você digita
$$1
isso significa pid seguido por um, para que a saída seja19301
.Tente
$$2
a saída será19302
fonte