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

1 bash grep if-statement

我有这个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
Run Code Online (Sandbox Code Playgroud)

如果grep匹配,则它当然回应匹配.当我在if语句中使用它时,我不想让它回应.

当我运行脚本时,如何grep在我的if声明中使用它而不向我公布结果?

Chr*_*our 5

您想要grep -q "$external_output"抑制输出.来自man grep:

-q, - quiet, - silent

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