【发布时间】:2014-04-06 20:07:42
【问题描述】:
#!/bin/bash
read DIR
read SEARCH
if [ `find $DIR -type f -exec grep $SEARCH /dev/null {} \;` ]; then
echo "Find"
fi
这段代码有什么问题?我有一个错误:参数太多
【问题讨论】:
-
您的
DIR和SEARCH的值可能让find感到惊讶。 -
看看@Bex 的评论,也许你可以在
if之前显示echoingDIR和SEARCH的结果? -
推荐你引用
$DIR和$SEARCH来保护空白,例如:find "$DIR" -type f... -
不要这样使用 [。就做
if find ... | grep -q .; then -
您想打印
find的结果还是仅仅打印它找到了匹配项?对于第二种情况,您应该添加一个-quit选项来查找,以便它终止而无需进一步查看。
标签: bash