命令的输出echo $$
在标准输出中显示一些数字,如下所示。
$ echo $$
14594
这个数字是多少?还有,
$ x=a
$ echo $x
a
在上面的例子中echo $x
解析变量 x 并将其值显示x
到标准输出。同样在这个命令中echo $$
,第二个美元符号代表任何变量吗?
答案1
答案2
$$
是 bash 的内部变量之一。与$x
示例中的 不同,它不“包含”值,每次访问变量时都会请求该值。
在 Bash 脚本中,它返回脚本本身的进程 ID。在脚本中,您可以调用它kill $$
来发送SIGTERM
到您的脚本。
在 bash shell 中,它返回当前正在运行的 bash 进程的进程 id。
在 bash 脚本中的子 shell 中,它返回脚本的进程ID,而不是子shell。