问题描述:写linux脚本时。sh文件中,在win环境下,编辑了.sh文件,然后上传到linux服务器中,出现如下错误:
-bash: ./start.sh: /bin/sh^M: bad interpreter: No such file or directory
解决方案:这是win的编码引起的,win环境下编辑是doc格式,linux下需要unix格式的文件。
可通过如下解决。
1.查看该文件:vim start.sh
2.查看该错误文件的格式(一般报错的文件格式是DOS):
:set ff
3.修改该文件格式为UNIX:
:set ff=unix
4.再保存。
:wq!
查看脚本文件是dos格式还是unix格式的几种办法。
cat -A filename 从显示结果可以判断,dos格式的文件行尾为^M
,unix格式的文件行尾为
,
u
n
i
x
格
式
的
文
件
行
尾
为
。