gpt4 book ai didi

bash - 将 glob 结果传递给函数,丢弃除第一个文件以外的所有文件

转载 作者:行者123 更新时间:2023-11-29 09:39:50 26 4
gpt4 key购买 nike

我有以下函数 f() { find . -name "$1"} 这只是查找具有名称的文件的便捷快捷方式。如果我执行 find 。 -name "*.gradle" 在我得到的终端中:

./.gradle
./app/build.gradle
./build.gradle
./dependencies.gradle
./settings.gradle
./wearable/build.gradle

如果我在终端中执行 f *.gradle 我会得到:

./app/build.gradle
./build.gradle
./wearable/build.gradle

第一个结果是正确的,也是想要的。为什么我在使用我的函数时会得到这个“错误”结果,即使内容相同?我是否错误地注入(inject)了 $1 参数?

最佳答案

您需要在当前 shell 中预先使用引号防止展开,并让展开在函数内进行:

f '*.gradle'

关于bash - 将 glob 结果传递给函数,丢弃除第一个文件以外的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36779604/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com