shell脚本报错:/bin/bash^M bad interpreter No such file or directory

错误描述

具体报错信息如下:

1
2
[root@localhost test]# ./test.sh
-bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory

主要原因是test.sh是在windows下编辑然后上传到linux系统里执行的。.sh文件的格式为dos格式。而linux只能执行格式为unix格式的脚本。

可以通过vi编辑器来查看文件的format格式。步骤如下:

(1)首先用vim命令打开文件

1
[root@localhost test]# vim test.sh

(2)在vim命令模式中使用 :set ff 命令

可以看到文件的格式为dos

修改文件format为unix

方法一:使用vi修改文件format

命令:set ff=unix

方法二:直接使用dos2unix命令修改

1
2
[root@localhost test]# dos2unix test.sh
dos2unix: converting file test.sh to UNIX format ...

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2020 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :