我想动态构造一个“查找”命令并查看它是否返回任何内容。
这是最小化的例子。在包含文件的目录中,
find . -name '*'
当然返回文件。但
VAR="find . -name '*'"
$VAR
什么都不返回。看起来像是引号解释的问题。但为什么?
(实际情况是我想查看是否存在带有某个前缀的文件。所以我打算使用-name '${MYPREFIX}*'
,捕获其中的输出$()
,并测试生成的字符串是否为空。)
如果这是微不足道的,请道歉。我确实花时间找到了答案,但我发现的所有案例都有些不同。通常,问题是在 find 命令应该执行此操作时扩展通配符的 shell。在这里,shell 没有做任何过早的扩展,但 find 也没有,可能是因为 find 接收文字引号?感谢您的任何见解。