“$$”在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