我想制作一个小脚本来节省我的打字时间,但不幸的是我没有得到任何输出:
#!/bin/bash
grep -Hnr \"$1\" --include \"*cpp\" --include \"*h\" $2
我玩了很多echo
和不同的引号用法,并说服自己这行真的扩展成我想要的,但我真正能得到任何输出的唯一方法是这样:
#!/bin/bash
GREP="grep -Hnr \"$1\" --include \"*cpp\" --include \"*h\" $2"
echo $GREP | bash
一个示例用法是:
srcgrep "dynamic_cast" src
我已经在一个简单的示例目录中尝试了这个,以排除链接、权限等任何奇怪的东西。所以,我当然可以只使用第二个,但知道第一种情况有什么问题吗?谢谢。
$ grep -V
grep (GNU grep) 2.5.1
...
$ bash --version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
...