我有一个类名列表,我正在尝试确定哪些不出现在一组配置文件中。所以我想我可以写一个小的bash脚本来做到这一点:
#!/bin/bash
while read line
do
name=$line
echo 'grep -R --include='definition.xml' '$name' ~/workspace/basedir/'
if grep -R --include='definition.xml' '$name' ~/workspace/basedir/; then
echo "output for $name"
else
echo "no output for $name"
fi
done < $1
我的问题是,如果我使用grep命令复制并粘贴其中一个回声,那么我得到一个结果,但是grep本身(即使没有if)也没有显示任何内容。所以现在我只是得到了很多“没有输出xyz”的消息。
希望你能提供帮助。 :)
答案 0 :(得分:3)
双引号"$name"
。单引号可防止使用变量$name
。您将'$name'
字面上传递给grep,而不是变量$ name中包含的内容。