【问题标题】:grep fails inside bash script but works on command linegrep 在 bash 脚本中失败,但在命令行上工作
【发布时间】:2013-09-28 01:02:30
【问题描述】:

bash 文件:

#!/bin/bash    
grep -l -r "products" Products/

给出输出

: No such file or directory

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

我使用echo $SHELL 检查了shell 确实是bash,所以应该没有区别。可能是什么原因? (Products/ 目录包含大约 3500 个文件)。

在 Ubuntu 12.04 LTS 上运行。

【问题讨论】:

  • pwd 对此有何评论?
  • 尝试使用绝对路径eks:/var/Products/

标签: linux bash shell grep


【解决方案1】:

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

【讨论】:

  • 谢谢!这确实是问题所在!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-28
  • 1970-01-01
  • 2019-05-28
  • 2023-02-05
  • 2018-03-25
  • 1970-01-01
  • 2019-03-19
相关资源
最近更新 更多