-bash: /bin/bash^M: bad interpreter: 没有那个文件或目录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Victory_Lei/article/details/81780063

运行脚本的时候出现了这样一个错误,打开之后并没有找到所谓的^M,查了之后才知道原来是文件格式的问题。也就是Linux和Windows之间的不完全兼容出现的问题。

-bash: ./datacollect.sh: /bin/bash^M: bad interpreter: 没有那个文件或目录

错误分析:因为操作系统是Windows,我在Windows下编辑的脚本,所以有可能会存在不可见的字符,监本文件是dos格式的,即每一行的行尾以Windows默认的格式来进行表示。可以有许多办法来查看这个文件是DOS格式的还是UNIX格式的们还是MAC格式的。
解决方法:

第一种

vi datacollect.sh
:set ff 回车
fileformat=dos
:set fileformat=unix

然后执行脚本就正常了,原来是因为我这个文件在windows下编辑过,所以格式不对,将格式设置为unix格式就可以了。

第二种

可以使用第三方的软件直接进行改变该脚本的格式,就可以直接进行运行了。

猜你喜欢

转载自blog.csdn.net/Victory_Lei/article/details/81780063