$?:获取执行上一个指令的执行状态返回值(0为成功,非0为失败)
$$:获取当前执行的shell脚本的进程号(PID)
$!:获取上一个在后台工作的进程的进程号
$_:获取在此之前执行的命令或脚本的最后一个参数
yao@linux:~/shells$ cat test_pid.sh
echo $$ > /tmp/a.pid
sleep 300
yao@linux:~/shells$ sh test_pid.sh &
[1] 5681
yao@linux:~/shells$ ps -ef|grep test_pid|grep -v grep
yao 5681 3538 0 18:58 pts/0 00:00:00 sh test_pid.sh
yao@linux:~/shells$ ps -ef|grep test_pid.sh
yao 5681 3538 0 18:58 pts/0 00:00:00 sh test_pid.sh
yao 5689 3538 0 18:58 pts/0 00:00:00 grep --color=auto test_pid.sh
grep -v "grep" 反向查询