用于查找在 bash 中不起作用的文件的别名

用于查找在 bash 中不起作用的文件的别名

以下用于查找文件的别名在 tcsh 中有效,但在 bash 中无效。

alias ff "find . -name '*\!{*}*' -ls"

当我将上面的行放入 .bashrc 中然后获取它时,我得到:

bash-3.2$ source .bashrc
bash: alias: ff: not found
bash: alias: find . -name '*\!{*}*' -ls: not found

现在,如果我定义别名,但在别名后面加上等号,上述错误就会消失,但它不会按预期工作。

 alias ff="find . -name '*\!{*}*' -ls" 

现在,如果我获取该文件,之前的错误就会消失,但该find命令无法按预期工作。

 bash-3.2$ source .bashrc
 bash-3.2$ ff somefile
 find: paths must precede expression
 Usage: find [-H] [-L] [-P] [path...] [expression]

答案1

bash 中的别名无法处理参数。如果您需要处理参数,请改用函数:

ff () { find . -name "*$1*" -ls ; }

相关内容