Apa arti "$$" di shell?

Jawaban:

14

The $$variabel di bash dan kerang lainnya berisi id proses shell.

Lihat ini Stack pertanyaan overflow dan yang satu ini juga memiliki lebih detail tentang apa itu lebih tepat, dan perintah mirip dengan itu.

Dennis Kaarsemaker
sumber
+1. Didokumentasikan dalam manual bash
glenn jackman
1

Seperti yang ditunjukkan oleh jawaban (diterima) lainnya, $ param mewakili id ​​proses saat ini (PID) dari shell saat ini.

Mengaktifkan param ini harus bekerja di sebagian besar shell (bukan hanya Bash):

Pesta:

$ echo $0
bash
$ echo $$
6780

Maksud:

$ echo $0
sh
$ echo $$
6988

C-Shell:

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

Penting untuk dicatat juga, bahwa perintah dari dalam shell akan berjalan di bawah id proses induk shell (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
Harun
sumber