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