如果我分配一个变量
temp=$!
它的价值是什么?
答案1
$!
包含最近执行的后台管道的进程 ID。从man bash
:
特殊参数
shell 对几个参数进行了特殊处理。这些参数仅供参考;不允许向他们分配。
...
!
- 扩展到最近执行的后台(异步)命令的进程 ID。
例如:
$ sleep 60 &
[1] 6238
$ echo "$!"
6238
答案2
来自 Bash 的手册页:
! Expands to the process ID of the most recently executed
background (asynchronous) command.
因此$!
将包含最后一个后台作业的进程 ID (PID)。
例子
$ sleep 100 &
[1] 18813
$ echo "$!"
18813