从windows到linux的shell脚本编码和格式问题
从windows到Linux的shell脚本编码和格式问题
1、异常问题 :set ff=unix
- 启动脚本在启动时报错比如执行sh start.sh,时会报Command not found等等的错误,
因为我们在windows编写或修改后的脚本是dos编码,而正常的在Linux系统中执行的是unix编码,在写shell脚本的时候,在windows的上开发后,上传到服务器,可能会有文件格式不正确,通过:set ff unix可以将dos格式设置为unix下的文件格式,
解决方法:则在配置文件中非编辑模式中输入:
ff是fileencoding的简写,如下ff也可以写成fileencoding
:set ff=unix
:wq
2、查询编码 :set fileencoding
:set fileencoding
3、转换编码 :set fenc=utf-8
转换当前文本的编码为指定的编码,这里的“编码”常见为gbk utf-8 big5 cp936
:set fenc=编码 #比如下面的,注意要:w保存一下,
:set fenc=utf-8
:w
4、显示指定编码 :set enc=utf-8
以指定的编码显示文本,但不保存到文件中。
这里的“编码”常见为gbk utf-8 big5 cp936
:set enc=编码 #比如:
:set enc=utf-8
5、查看模式 :set ff
查看当前文本的模式类型,一般为dos,unix
:set ff
6、设置模式 :set ff=unix
:set ff=unix
或
:set ff=dos
:w
:%s/^M//g 这里是如果文本里面有^M结尾的话用此命令。