shell 中的“$$”是什么意思?

shell 中的“$$”是什么意思?

以下命令的输出含义是什么?(结果是正整数)

echo $$

答案1

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

堆栈溢出问题和这个还提供了更多关于其精确含义的详细信息,以及与其类似的命令。

答案2

正如其他(已接受的)答案所示,$ 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

相关内容