我正try 从我的PHP应用程序运行grep搜索,但其中一个选项遇到了问题.Grep命令如下所示:
grep -rn --exclude-dir={img,node_modules,vendor} -E "14847"
此命令返回预期结果.但是,如果我以交互方式打开PHP并运行以下代码行:
print `grep -rn --exclude-dir={img,node_modules,vendor} -E "14847"`;
我在node_modules
目录中找到了结果.有趣的是,如果我go 掉花括号和逗号,并且只排除node_modules
,那么它就可以工作,并排除那些结果.我还可以 for each 要排除的目录单独列出--exclude-dir
选项(但让我们暂时忽略这一点).因此,它似乎与花括号或逗号的处理有关.我试过用反斜杠来转义这两个词,但不幸的是没有成功.我是不是在PHP对执行操作符的解析中遗漏了什么?