我想在命令行中找到一些带有给定参数的文件,这是我的脚本
find -name $1
当我使用参数'*.txt'
运行它时,它不起作用。为什么?我能解决什么问题?
答案 0 :(得分:2)
通配符的不带引号扩展将替换为当前目录中与该模式匹配的文件名列表。
因此:
set -- '*.txt' # same as running your script with '*.txt' as first argument
touch a.txt b.txt c.txt
find -name $1
...将运行:
find -name a.txt b.txt c.txt
......这不是有效用途。
为了避免全局扩展,请始终引用您的扩展:find . -name "$1"