Vraag Wat betekent "$$" in de shell?


Wat betekent de uitvoer van de onderstaande opdracht? (resultaat is positief geheel getal)

echo $$

11
2018-01-20 18:14


oorsprong


stackoverflow.com/questions/5163144/... is gerelateerd - kojiro


antwoorden:


De $$ variabele in bash en andere shells bevat de proces-ID van de shell.

Zien deze Stapel overflow vraag en deze heeft ook meer details over wat het nauwkeuriger is, en commando's die er op lijken.


15
2018-01-20 18:18



1. Gedocumenteerd in de bash handleiding - glenn jackman


Zoals het andere (geaccepteerde) antwoord aangaf, vertegenwoordigt de $ param de huidige proces-ID (PID) van de huidige shell.

Het navolgen van deze param zou in de meeste shells moeten werken (niet alleen Bash):

Bash:

$ echo $0
bash
$ echo $$
6780

Bourne:

$ echo $0
sh
$ echo $$
6988

C-Shell:

% echo $shell
/bin/csh
% echo $$
7613

Het is ook belangrijk op te merken dat commando's vanuit de shell onder de shell's draaien ouder proces-id (PPID).

$ echo $$
6780
$ ps -ef | grep 6780
aploetz   6780  6770  0 11:15 pts/2    00:00:00 bash
aploetz   8572  6780  0 11:34 pts/2    00:00:00 ps -ef
aploetz   8573  6780  0 11:34 pts/2    00:00:00 grep --color=auto 6780

1
2018-06-21 16:37