可能重复:
$$ 在 shell 中是什么意思?
我正在阅读 Linux 的 shell 脚本并遇到变量$$
:两个美元符号。基本上整行是
work_dirname=/tmp/my-work-$$
是什么$$
意思?
可能重复:
$$ 在 shell 中是什么意思?
我正在阅读 Linux 的 shell 脚本并遇到变量$$
:两个美元符号。基本上整行是
work_dirname=/tmp/my-work-$$
是什么$$
意思?
$$
给出 shell 的进程 ID。
它是脚本本身的进程 ID (PID)。该
$$
变量经常在脚本中用于构造“唯一”临时文件名(参见示例 32-6、示例 16-31 和示例 15-27)。这通常比调用 mktemp 更简单。
(来源:http ://tldp.org/LDP/abs/html/internalvariables.html#PROCCID )
它是正在执行的脚本的进程 ID。这可用于为临时文件创建一个唯一的文件名,这就是您正在查找的脚本可能正在执行的操作。
参见:http ://tldp.org/LDP/abs/html/internalvariables.html#PROCCID
@KingsIndian 是对的: $$
给出 shell 的进程 ID。
但是什么是进程 ID?
要理解这一点,试试这个:
$ echo $$
$ sh
$ echo $$
$ exit
$ echo $$
第一个和第三个回显打印相同的进程 ID,但中间一个打印不同的。不同之处在于该sh
命令会挂起您现有的 shell 并打开一个新的 shell,这是一个新进程并且有自己的 ID。
当您希望每个 shell 拥有自己的文件时使用示例中的语法,该文件不会与其他 shell 打开的文件冲突。这是否健壮取决于将对该文件执行的操作,但这是一种有时会被使用的策略。
另请参阅mktemp
命令。