2015-11-14 55 views

回答

2

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

$*是bash中的一个特殊变量,它包含了所有的位置参数。意思是_notlogged的参数。

如果你这样称呼它

_lotlogged foo 

传递到grep表达将

grep -q "# foo" 

检查bash manual了解更多信息。

+0

'$ 0',尽管也有一个数字作为它的名字,不是一个位置参数;它是一个shell特殊参数。 – chepner

+0

@chepner按照bash手册,您是对的。我承认我基本上从[here](http://wiki.bash-hackers.org/scripting/posparams)复制了这个声明。我改变了这一点。谢谢! – hek2mgl