Linux系统执行bash脚本显示“: /usr/bin/env: "bash\r": 没有那个文件或目录”

829 阅读1分钟

有次在Android项目中执行./gradlew build用脚本构建打包项目时

报错: /usr/bin/env: "bash\r": 没有那个文件或目录

于是记录一下

  主要是因为bash后面多了\r这个字符的原因。

  在Linux终端下,输出\r表示返回到当行最开始的位置,于是终端虽然输出了/usr/bin/env bash,但是执行\r后,光标会被移到行首,接着输出了: No such file or directory把前面的覆盖掉了,出现了那个莫名其妙的出错信息。

  最后解决办法是:

vi ./XXX 使用vim打开脚本文件

: set ff 查看文件格式,应该会显示fileformat=dos

: set ff=unix 设置文件格式为unix格式

: wq! 保存编辑并强制退出

再执行一遍就可以执行成功了。