首页 > 代码库 > shell-进程状态变量
shell-进程状态变量
$?用于对上一个命令有没有执行成功的判断。
如果返回为0则说明执行成功,如果返回为其他数值则失败。
[root@localhost ~]# zhouziqi
bash: zhouziqi: command not found
[root@localhost ~]# echo $?
127
[root@localhost ~]#
$$是获取当前shell的进程号。一般,我们有新的脚本的时候,我们要把旧的脚本杀掉的话,可以通过$$获取到当前shell脚本的进程号,一般是比如:
[root@localhost ~]# cat 1.sh
echo "$$" > /root/a.log
while true
do
uptime
sleep 2
done
[root@localhost ~]# vim a.
a.log a.sh
[root@localhost ~]# vim a.log
[root@localhost ~]# sh 1.sh &
[1] 24492
[root@localhost ~]# 14:07:40 up 9:31, 2 users, load average: 0.00, 0.00, 0.00
14:07:42 up 9:31, 2 users, load average: 0.00, 0.00, 0.00
看看a.log文件可以看到这个脚本的进程号,这样我们就可以杀死这个进程啦
[root@localhost zhouyu]# cat 58.sh
#!/bin/bash
tar zcf service.tar.gz * >&/dev/null
[ $? -eq 0 ] && echo ok
上面的意思是创建一个tar文件,把文件的输出信息给垃圾箱,然后判断上面的命令有没有成功,如果成功就输出OK
本文出自 “爱周瑜” 博客,请务必保留此出处http://izhouyu.blog.51cto.com/10318932/1886420
shell-进程状态变量