python小工具格式化shell脚本(.sh文件)

格式化shell脚本

python开发小工具格式化shell脚本(.sh文件)

## 问题

开发环境为 win7, 测试环境和生产环境均为linux,经常出现这样的问题:
在开发环境下写的shell脚本文件,发布到测试环境和生产环境,就会出现兼容问题,无法运行。

分析

对比运行正常的shell脚本.sh文件,发现在win和linux下脚本文件的差异在于:
shell文件换行符为:0x0A 不能含有 0x0D

而在windows的编辑工具中,总是会把换行符保存为 “0D 0A”。
搞清楚原因后就容易解决了,只要把文件中的换行:"0D"全部删除即可。

不兼容的文件截图: 含有"0D 0A"
不兼容文件
经过处理后的文件: 不含 “0D”

处理后的文件

工具

用python开发一个小工具,用于批量对shell文件进行处理:

python shellfmt.py -fname=文件名或者目录

发布到 pypi

本工具已经发布到PYPI,直接安装即可使用。

安装:

pip install shellfmt 

使用示例:

shellfmt --fname=F:\project\shell_format\test

正在处理:F:\project\shell_format\test\start_new_tecclass_nnsvr.sh...done!
正在处理:F:\project\shell_format\test\start_new_tecclass_nnsvr_dev.sh...done!
正在处理:F:\project\shell_format\test\start_pseg_svr.sh...done!
all done!
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值