我希望写一个别名,以快速搜索当前目录中的文件名(不区分大小写)。
以下代码可行:
以下代码可行:
alias f='find . -iname $@'
问题在于,当我想在搜索表达式中使用通配符时,我需要将它们加上引号(否则zsh扩展会首先处理通配符):
> f podfi*
zsh: no matches found: podfi*
> f "podfi*"
./Podfile
我应该如何在我的别名中添加引号,以便f podfi*
能够正常工作?
以下尝试都不起作用:
alias f='find . -iname "$@"'
alias f='find . -iname \"$@\"'
alias f='find . -iname
,然后使用f <something>
呢? - Renaud Pacalet*
、?
和[
。然后,一个bash函数而不是别名可以执行相反的替换并将结果传递给find... - Renaud Pacaletalias f='GLOBIGNORE="*"; find . -iname'
,它似乎可以工作。但我不确定我完全理解为什么会这样。但它修改了GLOBIGNORE变量,这可能不是你想要的。无论如何,这里可能有一些值得探索的东西(bash选项和变量)。 - Renaud Pacalet