$?表示上一条命zhidao令返回值,$0表示第一个参数,-ne表示不等于。
这是unix的shell编程语句,如果上一条命令执行度后的结束代码不是0则执行下面的命令,知道fi行之前。
如果上一条命令成功执行,返回0,否则返回1. [$? -ne 0] 表示如果$?的值不等回于0,则上一条答命令没有执行。
此处应该是 ping -c 1 -W 2 $ROUTER >/dev/null 2>&1 执行失败。
扩展资料:
如果booleanExpression(布尔表达式)求值为true,就运行statement-1;否则运行statement-2。else关键字和后续的statement-2是可选的。
如果没有else子句,而且booleanExpression求值为false,那么什么也不会发生,程序继续执行if语句之后的代码。注意,布尔表达式必须放在圆括号中,否则无法编译。
如果没有名为CMDCMDLINE的环境变量,%CMDCMDLINE%将在CMD.EXE进行任何处理前扩充为传递给CMD.EXE的原始命令行;否则,您会得到其数值。
如果没有名为CMDEXTVERSION的环境变量,%CMDEXTVERSION%会扩充为CMDEXTVERSION当前数值的字串符表达式;否则,您会得到其数值。
参考资料: