grep在bash脚本中失败但在命令行上运行

wor*_*ise 0 linux bash shell grep

bash文件:

#!/bin/bash    
grep -l -r "products" Products/
Run Code Online (Sandbox Code Playgroud)

给出输出

: No such file or directory
Run Code Online (Sandbox Code Playgroud)

直接从终端提示符运行时, grep -l -r "products" Products/提供所需的输出,即包含该单词的文件列表.

我检查使用echo $SHELLshell确实是bash这样,应该没有区别.可能是什么原因?(Products/目录包含大约3500个文件).

在Ubuntu 12.04 LTS上运行.

Ign*_*ams 5

您的脚本在grep行的末尾包含CR.使用dos2unix将其删除.