我正在写一个脚本。下面两行有什么区别?
grep . || echo something
和
grep "^\." || echo something
答案1
Grep 用途常用表达;其中,单个句号.
可匹配任何单个字符。要匹配文字句号/句点,您需要使用反斜杠将其转义,如下所示:\.
.^
表示“行首”。
因此,grep .
将匹配任何包含单个字符的内容(因此我认为它不会匹配空行)。另一方面,grep "^\."
匹配任何以文字开头的行.
在 bash 中,||
表示“或”;如果 grep 没有出现任何行,grep "^\." || echo something
则会回显(因此计算结果为 false)。在 bash 中用于“和”。something
&&