4.3 只有前面的命令运行失败,才运行下一个命令

||

仅当前一个命令运行成功时,&&才会依次运行接下来的命令。||则正好相反:只有第一个命令失败了(从技术上讲,命令返回的退出状态码不为0),第二条命令才会运行。可以把它看作“不是……就是……”这样的短语:不是运行第一个命令,就是运行第二个命令。

当一个处理失败时,经常用||给管理员发送警告。例如,为了确保特定的计算机开启和正在运行,管理员可能不时地使用ping命令对它进行查询(第14章将详细讲述ping命令)。如果ping不通,则发送一封电子邮件给管理员,通报这一情况。

  1. ping -c 1 -w 15 -n 72.14.203.104 ||
  2. {
  3. echo Server down | mail -s 'Server down' admin@google.com
  4. }

说明 想知道|是什么吗?参见4.6节,就能知道它是什么以及怎么用。

稍微思考一下,你会发现||可以用于很多地方。它是一个功能强大的工具,真的很有用。