GREP-Q"有什么意义?有什么意义、GREP、amp、QUOT

2023-09-03 11:20:49 作者:原来,只是我自导自演

我在阅读grep手册页时遇到了-q选项,它告诉grep"不向标准输出写入任何内容。如果找到任何匹配项,则立即以零状态退出,即使检测到错误也是如此。"

我不明白为什么这会是可取的或有用的行为。在一个程序中,谁的理由似乎是从标准输入、进程、写入标准输出中读取的,我为什么要完全将其静音?

在什么情况下,使以输出为目标的程序静默是有用的?为什么有人要完全忽略错误并强制执行成功的返回代码?

GRE不同分数段,可以申请哪些院校和专业

谢谢!

推荐答案

grep的退出状态不一定表示错误;它表示成功或失败。grep将成功定义为匹配1行或多行。失败包括匹配零行、或某些其他错误,这些错误从一开始就阻止了匹配。

-q在您不关心哪些行匹配时使用,只关心某些行匹配。

if grep -q foo file.txt; then
    echo "file.txt contains foo"
else
    echo "file.txt does not contain foo"
fi