我有这个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
,而不会在运行脚本时向我公布结果?
答案 0 :(得分:5)
您希望grep -q "$external_output"
抑制输出。来自man grep
:
-q, - quiet, - silent
安静;不要写任何标准输出。如果找到任何匹配,则立即退出零状态,即使是 错误是 检测到(-q由POSIX指定)。