echo $$的输出

echo $$命令的输出在标准输出中显示一些数字,如下所示。

 $ echo $$ 14594 

这个数字是多少? 并且,

 $ x=a $ echo $x a 

在上面的例子中, echo $x解析变量x并将x的值显示给标准输出。在这个命令echo $$ ,是第二个美元符号代表任何变量吗?

$$是当前shell(不是子shell)的PID( 进程标识符 )。 在脚本中,在子shell中, $$返回脚本的PID,而不是子shell。 请参阅内部变量 。

您还可以在以下命令的输出中找到终端中echo $$返回的PID:

 ps ax | grep bash 

$$是bash的内部变量之一。 与$x不同,在您的示例中,它不“包含”值,每次访问变量时都会请求该值。

在bash脚本中,它返回脚本本身的进程ID。 在脚本中,您可以调用kill $$SIGTERM发送到您的脚本。

在bash shell中,它返回当前运行的bash进程的进程ID。

在bash脚本中,在子shell中,它返回脚本的进程ID,而不是子shell。