理解bash脚本中的grep模式

时间:2015-11-14 22:33:20

标签: regex bash grep

这意味着什么,尤其是结束后的符号*?

LOG=/root/$(basename $0).log
_notlogged(){
 if ! grep -q "# $*" $LOG; then
  echo "no"
 fi
 echo "yes"
}
_notlogged

因此,grep正则表达式规则是否特殊?

1 个答案:

答案 0 :(得分:2)

双引号字符串"# $*"在传递给grep之前受bash参数扩展限制。

$*是bash中的一个特殊变量,它包含所有位置参数。将参数表示为_notlogged

如果你称之为

_lotlogged foo

传递给grep的表达式将是

grep -q "# foo"

查看bash manual以获取更多信息。