Qui*_*Par 5 linux bash shell grep find
我正在尝试别名查找和grep到一行,如下所示
alias f='find . -name $1 -type f -exec grep -i $2 '{}' \;'
Run Code Online (Sandbox Code Playgroud)
我打算把它作为
f *.php function
Run Code Online (Sandbox Code Playgroud)
但是当我将它添加到.bash_profile并运行它时,我被击中了
[a@a ~]$ f ss s
find: paths must precede expression
Usage: find [-H] [-L] [-P] [path...] [expression]
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
别名不接受位置参数.你需要使用一个函数.
f () { find . -name "$1" -type f -exec grep -i "$2" '{}' \; ; }
Run Code Online (Sandbox Code Playgroud)
你还需要引用你的一些论点.
f '*.php' function
Run Code Online (Sandbox Code Playgroud)
这推迟了glob的扩展,因此find
执行它而不是shell.
归档时间: |
|
查看次数: |
2212 次 |
最近记录: |