当你编译内核或者一个文件的时候出现了下面的错误,未声明错误等一些缺少定义的错误的时候,你就需要去他定义的地方,大多都是在头文件里面,或者在C文件里面,下面是一个小脚本可以帮你快速查找你所需要的文件。(大牛写的)
function mygrep ( )
{
if [ $# -lt 1 ] ; then
echo " Usage: $FUNCNAME key [-g] [suffix]"
echo "Example1: mygrep haha"
echo "Example2: mygrep haha -g"
echo "Example3: mygrep haha *.c" //在所有C文件中寻找有haha的C文件
echo "Example4: mygrep haha -g *.c"//加了-g 是完整寻找,就是只含haha,并不是含有haha 例如会列出含有"haha"的文件,并不会列出"hahalsd"这种文件
return
fi
key=$1 #The grep key
if [ $# = 1 ] ; then
grep -n "$key" -r *
elif [ $# = 2 ] ; then
if [ $2 = "-g" ] ; then
grep -n "\<$key\>" -r *
else
suffix=$2
find -iname "$suffix" | xargs grep -n "$key"
fi
else # Arguments more than 3
if [ $2 = "-g" ] ; then
suffix=$3
elif [ $3 = "-g" ]; then
suffix=$2
fi
find -iname "$suffix" | xargs grep -n "\<$key\>" //其实就是巧妙的运用了find和xargs的组合,然后用 mygrep这个功能函数来代替这个命令
fi
}
将上面的这个函数复制到你的 .bash_profile中
[lzj@localhost ~]$ pwd
/home/lzj
[lzj@localhost ~]$ vim .bash_profile
然后source .bash_profile 使其生效