一、对于在服务器上新上传的start.sh脚本,启动时容易出现,-bash:./start.sh:/bin/sh^M: bad interpreter:No such file or directory
那么这是什么原因造成的呢,一般情况是因为该sh脚本的格式不正确,如果这个脚本在你本地修改过(使用txt、notepad++打开修改),可能在保存的时候会默认把文件的格式保存为: doc格式(windows系统)、mac(苹果系统),那么在上传到xshell(unix系统)后,unix系统是不支持doc(mac)格式的,那么就需要把doc(mac)格式的文件修改为unix格式即可。
具体操作步骤如下:
1、执行命令 vi start.sh
2、执行 :set ff (这里是查看.sh文件的格式,如果在左下角你看到 fileformat=doc或 fileformat=mac,继续执行下边的步骤)
3、执行命令 :set ff=unix (修改为unix格式)
4、执行命令 :wq (保存即可)
5、保存完即可,这个时候也可以 vi start.sh 进去 :set ff 确认一下格式是否修改了。
二、对于自动化部署项目,十几个微服务都是直接从git上拉去项目,自动编译、打包、部署的,没有时间和机会给你让你一个一个去 set ff去修改文件格式,那么这怎么办呢?
也好办,这个时候呢你就要保证git上的.sh脚本是unix格式的就好了,对吧。
那么开始举个栗子:
把start.sh脚本 用 notepad++打开,
选择工具栏 Edit —> EOL Conversion —> Unix(LF) ,最后 保存即可。(英文的notepad++)
选择工具栏 编辑 —> 文档格式转换 —> 转换为UNIX格式,保存。(中文的notepad++)