bash:在if语句中使用grep,防止回显

时间:2013-01-18 20:38:34

标签: bash if-statement grep

我有这个bash脚本:

#!/bin/bash

external_output="Oliver's AirPort Express"

if ~/.bin/audiodevice | grep "$external_output"
then
  ~/.bin/audiodevice output "Internal Speakers"
  echo "Internal Speakers"
else
  ~/.bin/audiodevice output "$external_output"
  echo "Oliver's AirPort Express"
fi

如果grep匹配,那么它当然会回应匹配。当我在if语句中使用它时,我不想让它回应。

如何在grep语句中使用if,而不会在运行脚本时向我公布结果?

1 个答案:

答案 0 :(得分:5)

您希望grep -q "$external_output"抑制输出。来自man grep

  

-q, - quiet, - silent

     

安静;不要写任何标准输出。如果找到任何匹配,则立即退出零状态,即使是   错误是             检测到(-q由POSIX指定)。