例如,当前目录有2个文件:1x和2x。我使用以下bash脚本来查找它们。但我一无所获:
#!/bin/bash
var=x
pattern=`printf "'%s'" "*${var}"`
echo $pattern
find -name $pattern
我可以在找到之前放置eval以使上面的脚本工作。为什么需要eval呢?有没有办法不使用eval呢?
答案 0 :(得分:1)
你不需要单引号,你只需要禁止扩展。
var=x
pattern="*$var"
find -name "$pattern"