可不可以把 shell 脚本替换为 Python 脚本?

查看 150|回复 10
作者:Canglin   
目前公司生产上大概有 1000+的 shell 脚本,最近总能刷到 Python 替换 shell 的言论,不知道可不可行,目前我也不清楚 Python 照 Shell 来说有什么优势,之前做过一个临时工单,抽取 3000+文本文件中的特定条件的字符串到指定文件中,Shell 执行了 14 小时左右 Python 执行了大概 20 分钟,不知道可不可以作为参考依据
本人运维
somebody1   
凭你的描述和对问题探究的深度,不动是最好的
baobao1270   
首先建议公司用的话能动就别换
Python 的问题是,你不知道系统带的 Python 是什么版本,然后系统自带 Python 装包会污染系统的 python 环境
外部交互比较麻烦,以前一行搞定的事情现在要 subprocess
但是复杂的脚本用 Python 优势就很明显了,而且因为转义遇到的 bug 也少
skyrim61   
发出来看看, 不然大伙不知道, 注意规避敏感信息
lazyyz   
生产不动一般不会出问题!
业务既然能接受 14 小时,为什么要变呢?
catsoul   
能用就别动
这种事情等着上级驱动,你做了才是完成本职工作
如果你自己擅自改了,做好了算是正常(无功无过),但凡一个脚本做出问题,导致哪怕一丁点生产事故,这锅你就牢牢焊死在背上吧,主动离职谢罪
baobao1270   
抽取 3000+文本文件中的特定条件的字符串到指定文件中,这个肯定是 python 很方便,用 shell 其实每一行都会新建进程,开销很大,python 是进程内部处理了
想要学习的话以后遇到新的这种纯文本转换/提取的任务,如果要写新的脚本的话,可以用纯 python 写,记得不要调外部包,加 type hinting
fsdrw08   
不建议换,理由同 2 楼
即便真要换,也该换成 Ansible+Ansible runner
Canglin
OP
  
@somebody1 #1 是的,我就是个二把刀,只是想磨练自己的技术🤣
Canglin
OP
  
@baobao1270 #2 是这样的,我就是个二把刀,平安县翻译的水平,我想请教一下什么样的脚本就可以算是复杂脚本了
您需要登录后才可以回帖 登录 | 立即注册

返回顶部