shell脚本中$?是指上一次命令执行的成功或者失败的状态。如果成功就是0,失败为1.。语句if [ $? -eq 0 ] 是判断if语句的上一个命令执行如果失败就执行if中的语句,否则就执行else中的内容。
下面是一个例子
nc -w 3 localhost 80 &>/dev/null
if [ $? -eq 0 ];then
str="apache web status Running!"
else
str="apache web status Shuting!"
fi
用来查看执行的服务器的状态情况
shell的一些其他特殊变量
1、$# 表示参数个数。
2、$0 是脚本本身的名字。
3、$1 是传递给该shell脚本的第一个参数。
4、$2 是传递给该shell脚本的第二个参数。
5、$@ 表示所有参数,并且所有参数都是独立的。
6、$$ 是脚本运行的当前进程ID号。
7、$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误。