linux – 查找抛出路径必须在脚本中的表达式之前

前端之家收集整理的这篇文章主要介绍了linux – 查找抛出路径必须在脚本中的表达式之前前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试别名查找和grep到一行,如下所示

alias f='find . -name $1 -type f -exec grep -i $2 '{}' \;'

我打算把它作为

f *.PHP function

但是当我将它添加到.bash_profile并运行它时,我被击中了

[a@a ~]$f ss s
find: paths must precede expression
Usage: find [-H] [-L] [-P] [path...] [expression]

我该如何解决这个问题?

最佳答案
别名不接受位置参数.你需要使用一个函数.

f () { find . -name "$1" -type f -exec grep -i "$2" '{}' \; ; }

你还需要引用你的一些论点.

f '*.PHP' function

这推迟了glob的扩展,以便find执行它而不是shell.

猜你在找的Linux相关文章