“$$”在shell中意味着什么?

下面命令的输出是什么意思? (结果是正整数)

echo $$ 

bash和其他shell中的$$变量包含shell的进程ID。

看到这个堆栈溢出问题, 这个问题还有更详细的内容,以及与之类似的命令。

正如另一个(接受的)答案所示,$ param表示当前shell的当前进程ID(PID)。

回应这个参数应该适用于大多数shell(不仅仅是Bash):

击:

 $ echo $0 bash $ echo $$ 6780 

伯恩:

 $ echo $0 sh $ echo $$ 6988 

C-shell:

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

值得注意的是,shell中的命令将在shell的进程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