Linux:从windows到linux的shell脚本编码和格式
从windows到linux的shell脚本编码和格式问题
异常问题 :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 #修改模式 :set ff=unix #保存 :wq
1、设置模式
#查看模式,查看当前文本的模式类型,一般为dos,如果是dos需要修改为unix,否则linux运行文件错误 :set ff #修改模式 :set ff=unix #保存 :wq
2、查询编码
#查询编码
:set fileencoding
3、转换编码
#转换当前文本的编码为指定的编码,这里的“编码”常见为gbk utf-8 big5 cp936 #设置编码 :set fenc=编码 #比如下面的,注意要:w保存一下, #设置UTF-8 :set fenc=utf-8 #保存 :wq!
4、显示指定编码
#以指定的编码显示文本,但不保存到文件中。 #这里的“编码”常见为gbk utf-8 big5 cp936 :set enc=编码 #比如: :set enc=utf-8
:%s/^M//g 这里是如果文本里面有^M结尾的话用此命令。
-----------------------------------
作者:怒吼的萝卜
链接:http://www.cnblogs.com/nhdlb/
-----------------------------------