Was bedeutet die Ausgabe des folgenden Befehls? (Ergebnis ist positive ganze Zahl)
echo $$
Was bedeutet die Ausgabe des folgenden Befehls? (Ergebnis ist positive ganze Zahl)
echo $$
Antworten:
Die $$Variable in bash und anderen Shells enthält die Prozess-ID der Shell.
Sehen Sie sich diese Stapelüberlauffrage an, und diese enthält auch detailliertere Informationen zu ähnlichen Details und ähnlichen Befehlen.
Wie in der anderen (akzeptierten) Antwort angegeben, repräsentiert der Parameter $ die aktuelle Prozess-ID (PID) der aktuellen Shell.
Das Echo dieses Parameters sollte in den meisten Shells funktionieren (nicht nur in Bash):
Bash:
$ echo $0
bash
$ echo $$
6780
Bourne:
$ echo $0
sh
$ echo $$
6988
C-Shell:
% echo $shell
/bin/csh
% echo $$
7613
Es ist auch wichtig zu beachten, dass Befehle aus der Shell unter der übergeordneten Prozess-ID (PPID) der Shell ausgeführt werden .
$ 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