今天在windows上写了一个sh的启动脚本,传到linux上执行时,报如下错误:

-bash: ./startup.sh: /bin/sh^M: bad interpreter: No such file or directory

原因是在windows上编辑的脚本是dos格式,linux无法识别,因此需要将格式设置成unix;
可以查看一下脚本的格式,使用vim打开脚本,命令如下:

vim startup.sh

在非编辑模式下,输入如下命令后回车:

:set ff

将会显示文件格式

fileformat=dos

修改成unix文件格式,输入如下命令后回车:

:set ff=unix

可以再次使用:set ff命令查看,此时文件格式已经变为unix,fileformat=unix,保存文件退出后,再次启动脚本成功!

发表评论