Window 下 sh 文件在 Linux 转码

Window 下 sh 文件在 Linux 转码

​ 因为我组的server经常断网,所以我通常都在本地的sublime中写好代码,然后用sftp插件同步到server上。但是经常发生写的 sh 文件在server 运行出错的情况。

​ 经过查错发现,主要是因为在win下的sublime编辑出的sh 文件,其编码是win的。而Linux上只能运行编码为unix的sh脚本。因此需要对 sh 文件进行编码转换。(注意,目前我只发现了 sh 文件可能需要进行编码转换,可能是因为其它脚本都是由对应解释器(例如 Python)来执行的,而只有 sh 是由系统shell来执行的)

​ 本文主要采用 vim 来进行转码操作

# vim 打开 sh 文件
vim ./test.sh

# 查看文件编码
# vim 命令行的模式下输入
: set ff
# 回车显示 fileformat=dos,代表这是 Win 的编码

# 修改编码
# vim 命令行的模式下输入
: set ff=unix
# 查看当前编码
: set ff
# 回车显示 fileformat=unix,代表这是 unix 的编码(适用于Linux)
# 保存退出
:wq
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容