直到最近,我才能让脚本在继续之前确保某个目录中存在某个文件。
现在,脚本找不到文件,或者当grep工作时,只返回" grep:/ Users / user / Downloads:是一个目录"完成后。"
该文件存在于目录中,但grep不再想要与之交互。这就是我与之合作的事情:
if grep -q 'file.bin' ~/Downloads; then echo "It works!" exit 1 fi
任何建议都将不胜感激。感谢。
答案 0 :(得分:3)
您要求grep
在名为file.bin
的文件中搜索字符串(~/Downloads
)...这是一个目录。所以你看到的错误是准确的; grep仅对文件进行操作,而不对目录进行操作。
如果您想查看文件是否存在,您可能只想对文件使用标准shell测试:
if [ -f ~/Downloads/file.bin ]; then
echo "It exists!"
fi
您可以使用grep
查看文件中是否存在字符串:
if grep -q "a string" ~/Downloads/file.bin; then
echo "The file contains the string"
fi