1

我有这个 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语句中使用它而不在我运行脚本时向我宣布结果?

4

1 回答 1

5

你想grep -q "$external_output"抑制输出。来自man grep

-q,--安静,--静音

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

于 2013-01-18T20:41:40.910 回答