我一直在尝试搜索包含特定模式的文件。该模式本身位于变量 tmpfl 中
echo $tmpfl --> ack_2*
现在要在当前工作目录本身中查找文件,我一直在尝试使用
find . -name $tmpfl
find . -name ($tmpfl)
但它们似乎都不起作用。尽管
find . -name ack_2*
奇迹般有效 。
这种方法有什么问题?这是 Unix 中简单的变量替换,对吧?那么我缺少什么?
答案1
您需要在变量周围加上“”。
find . -name "$tmpfl"
答案2
我发现有些情况下(除了空格或不可打印字符外)需要用双引号括住参数-name
,无论该参数是变量还是硬编码值。养成使用它们的习惯总是好的。