从windows到linux的shell脚本编码和格式问题

windowslinuxshell脚本编码和格式问题

 

 

从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结尾的话用此命令。

 

 

posted @ 2018-07-10 08:40  LWJ303  阅读(9011)  评论(0编辑  收藏  举报
levels of contents