我一直在准备 Unix 考试,经常看到感叹号变量 -$!
如果我echo $!
在 Mac shell 上写,会告诉我类似“你有邮件......”之类的内容。
这样做的目的是为了存储我是否有任何邮件或者还有其他什么?
编辑:有趣的巧合发生了。就在我写的时候,echo $!
我的 Shell 也通知我,我有一些邮件。这就是我写邮件部分的原因。
答案1
$!是最近的后台命令的PID。
看这个优秀的答案对于其他特殊参数。
答案2
$MAILCHECK
命令完成后或经过 600 秒后,shell 会检查新邮件。
echo $!
打印最后一个后台进程的PID。之后,可能会检查邮件。
答案3
$!
替换为当前 shell 中最后一个置于后台的进程的进程标识符(如果有)。这bash
手动的提供所有此类特殊参数的详细信息。
要查看实际效果:
echo $!
应该打印0
(假设没有后台作业)
man bash &
echo $!
man
应打印后台进程的进程标识符。完整的输出应该类似于
$ man bash &
[1] 4319
[1] + 4319 suspended (tty output) man bash
$ echo $!
4319