0

例如,当前目录有 2 个文件:1x 和 2x。我使用以下 bash 脚本来查找它们。但我什么也没得到:

#!/bin/bash

var=x
pattern=`printf "'%s'" "*${var}"`
echo $pattern
find -name $pattern

我可以在 find 之前放置 eval 以使上述脚本正常工作。为什么这里需要 eval ?有没有办法在不使用 eval 的情况下做到这一点?

4

1 回答 1

1

你不需要单引号,你只需要禁止扩展。

var=x
pattern="*$var"
find -name "$pattern"
于 2012-07-17T08:00:02.363 回答