执行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
作者:Agoly 出处:https://www.cnblogs.com/qmfsun/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 如果文中有什么错误,欢迎指出。以免更多的人被误导。 |