执行shell脚本提示“-bash: ./checkP.sh: /bin/sh^M: bad interpreter: No such file or directory”解决方法

在windows机器下新建了一个shell脚本如下

sed -i 's/\r$//' checkP.sh

在Linux上的很多操作一般都是用脚本来实现了,特别是线上的服务器,不用脚本是,直接在上面敲是很危险的,一不小心,手一抖, 那就完了。但是,很多朋友自己的笔记本用的都是windows系统,这真把Ubuntu做为自己笔记本系统的人不会很多,不过我还是喜欢Ubuntu,之 前在Ubuntu上写了一些脚本,并且试下来也没什么问题,然后就把这些脚本放到了windows系统的工作机上去了,之后呢,又在上面编辑过了,结果, 就出现了现在我遇到的问题,我把windows上的脚本弄到Linux上,非常熟练的,chmod u+x test.sh ,./test.sh 结果,报错了:/bin/bash^M: bad interpreter,从这个提示来看是/bin/bash后面多了一个^M,我也打开看过,没见到^M,后来仔细一想,原来问题可能出现在文件格式 上,

vim test.sh

:set ff?

fileformat=dos

上面的提示,显示这个文件的格式是dos的,问题原来就是出来这边,下面就简单了,只要:set fileformat=unix 就可以了!

接下来我的shell脚本就可以跑起来了!

 

方法2:

yum -y install dos2unix

dos2unix jstack.sh



posted @ 2017-03-14 17:52  Agoly  阅读(5355)  评论(0编辑  收藏  举报