我试图在 shell 脚本中使用 find 来计算与通配符模式匹配的文件的数量,然后如果只有一个,则获取文件的名称。但是我在将通配符模式传递给反引号扩展时遇到了麻烦。
FINDCMD="find . -iname *DATA*.txt"
DATACOUNT=$($FINDCMD | wc -l)
if [ $DATACOUNT -eq 1 ]
then
use-data $($FINDCMD)
else
echo bugger
fi
这不起作用:shell 在调用 find 时扩展了DATA .txt。我希望通过星号来查找。
如果我成功了
FINDCMD="find . -iname '*DATA*.txt'"
然后外壳不会扩展星号,但 find 获取单引号并且不匹配任何内容。