V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Canglin
V2EX  ›  程序员

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

  •  
  •   Canglin · 2024-07-31 08:38:13 +08:00 · 11803 次点击
    这是一个创建于 405 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前公司生产上大概有 1000+的 shell 脚本,最近总能刷到 Python 替换 shell 的言论,不知道可不可行,目前我也不清楚 Python 照 Shell 来说有什么优势,之前做过一个临时工单,抽取 3000+文本文件中的特定条件的字符串到指定文件中,Shell 执行了 14 小时左右 Python 执行了大概 20 分钟,不知道可不可以作为参考依据
    本人运维
    100 条回复    2024-08-07 11:42:34 +08:00
    somebody1
        1
    somebody1  
       2024-07-31 08:48:49 +08:00   ❤️ 18
    凭你的描述和对问题探究的深度,不动是最好的
    baobao1270
        2
    baobao1270  
       2024-07-31 08:50:06 +08:00 via Android   ❤️ 3
    首先建议公司用的话能动就别换
    Python 的问题是,你不知道系统带的 Python 是什么版本,然后系统自带 Python 装包会污染系统的 python 环境
    外部交互比较麻烦,以前一行搞定的事情现在要 subprocess
    但是复杂的脚本用 Python 优势就很明显了,而且因为转义遇到的 bug 也少
    skyrim61
        3
    skyrim61  
       2024-07-31 08:50:54 +08:00
    发出来看看, 不然大伙不知道, 注意规避敏感信息
    lazyyz
        4
    lazyyz  
       2024-07-31 08:51:49 +08:00 via Android
    生产不动一般不会出问题!
    业务既然能接受 14 小时,为什么要变呢?
    catsoul
        5
    catsoul  
       2024-07-31 08:52:35 +08:00   ❤️ 18
    能用就别动

    这种事情等着上级驱动,你做了才是完成本职工作

    如果你自己擅自改了,做好了算是正常(无功无过),但凡一个脚本做出问题,导致哪怕一丁点生产事故,这锅你就牢牢焊死在背上吧,主动离职谢罪
    baobao1270
        6
    baobao1270  
       2024-07-31 08:52:47 +08:00 via Android   ❤️ 1
    抽取 3000+文本文件中的特定条件的字符串到指定文件中,这个肯定是 python 很方便,用 shell 其实每一行都会新建进程,开销很大,python 是进程内部处理了
    想要学习的话以后遇到新的这种纯文本转换/提取的任务,如果要写新的脚本的话,可以用纯 python 写,记得不要调外部包,加 type hinting
    fsdrw08
        7
    fsdrw08  
       2024-07-31 08:53:51 +08:00 via Android   ❤️ 2
    不建议换,理由同 2 楼
    即便真要换,也该换成 Ansible+Ansible runner
    Canglin
        8
    Canglin  
    OP
       2024-07-31 08:56:45 +08:00
    @somebody1 #1 是的,我就是个二把刀,只是想磨练自己的技术🤣
    Canglin
        9
    Canglin  
    OP
       2024-07-31 08:57:47 +08:00
    @baobao1270 #2 是这样的,我就是个二把刀,平安县翻译的水平,我想请教一下什么样的脚本就可以算是复杂脚本了
    Canglin
        10
    Canglin  
    OP
       2024-07-31 08:58:01 +08:00
    @skyrim61 #3 这个不太方便,不好意思
    Canglin
        11
    Canglin  
    OP
       2024-07-31 08:59:03 +08:00
    @lazyyz #4 不是,是临时工单,他们对这个也没有要求,我只是想举个例子,看看是不是所有的 shell 脚本都是比 Python 脚本效率低
    Canglin
        12
    Canglin  
    OP
       2024-07-31 08:59:43 +08:00
    @catsoul #5 那我学习技术的机会是不是没有了
    ho121
        13
    ho121  
       2024-07-31 09:01:08 +08:00 via Android
    Shell 执行了 14 小时左右 Python 执行了大概 20 分钟

    这个要看写法,实现相同功能,有的写法效率高,有的写法效率低。有的用 shell 实现方便,有的 python 实现方便。

    比如字符串流式处理,文件操作多一些的,一般 shell 容易实现。但如果有 url 调用,post put 之类的数据还比较复杂还要有自动重试之类的,或者有复杂正则的,python 更方便一些。

    总之要看情况。

    还有环境依赖的 shell 和 python 其实差不多。
    shell 下同一个工具比如 grep 来说,不同系统下可能是不同的版本,功能可能有些许差别。
    python 更是了,首先是 python 版本就很难统一。然后是第三方包的版本也很难统一,总不能一个简单的脚本还要自带 virtualenv 吧。

    另外一个是 debug ,这个个人感觉 python 脚本 debug 更方便一些。这应该是各巨大优势。
    jorneyr
        14
    jorneyr  
       2024-07-31 09:01:15 +08:00
    不听建议,只听命令。
    Canglin
        15
    Canglin  
    OP
       2024-07-31 09:02:00 +08:00
    @baobao1270 #6 之前的 Shell 脚本是我们的乙方写的,我本人不会写 Shell ,只会一点 Python ,之前的 Python 也确实没有用三方包
    yinmin
        16
    yinmin  
       2024-07-31 09:03:04 +08:00 via iPhone   ❤️ 3
    遵循准则第一条:能用就别动。

    sh 的很多指令都是一个可执行文件,跑 sh 脚本时会重复加载运行进程,有大量循环处理会慢一些。python 的库比较完善,如果开发新脚本可以考虑用 python 。

    op 是运维,应该编程不是强项,但是懂一点编程,推荐目前地表最强 ai claude 3.5 sonnet ,500 行以下的程序绝对是编程高手中的高手。不同语言的转换也是一流的,你把 sh 给 ai 直接转成 python 。有一个技巧:提问前先打草稿,梳理需求分析很重要。你用了 claude 3.5 ,复杂脚本就不需要程序员打配合了。

    claude 官网封号比较厉害,google cloud 可以申请 claude api 加一个壳就能用。也可以用二道贩子的平台。
    Canglin
        17
    Canglin  
    OP
       2024-07-31 09:07:20 +08:00
    @ho121 #13 业务场景主要是数仓的 ETL 过程,看了几个实践案例,Shell 与 Python 的都有,我个人还是比较倾向于 Python 的
    l4ever
        18
    l4ever  
       2024-07-31 09:07:26 +08:00
    当然可以, 只要你愿意.
    yinmin
        19
    yinmin  
       2024-07-31 09:11:02 +08:00 via iPhone
    python 用到第三方库,一定要建虚拟环境.env ,不同的程序用各自的虚拟环境。

    网上搜索到的第三方库的使用代码,一定要上 pypi.org 看看是不是真开源,有多少人 star ,可不可靠。因为任何人都可以往 pip 里上传自己的库,要小心供应链攻击。
    doublebu
        20
    doublebu  
       2024-07-31 09:14:53 +08:00
    可能 PowerShell 也是一个不错的选择?毕竟可以用 dotnet 生态
    loading
        21
    loading  
       2024-07-31 09:18:49 +08:00
    如果你是运维,我建议是用 golang ,没有上面环境等问题。

    但还是那句话,能用还是别动。
    salmon5
        22
    salmon5  
       2024-07-31 09:20:21 +08:00
    建议换成 go ,或者 rust
    crackidz
        23
    crackidz  
       2024-07-31 09:21:20 +08:00
    可行但没必要
    Canglin
        24
    Canglin  
    OP
       2024-07-31 09:22:59 +08:00
    @salmon5 #22 舍本逐末了
    gimp
        25
    gimp  
       2024-07-31 09:23:24 +08:00   ❤️ 1
    @Canglin #12 学习为什么要用生产环境练手...
    noahlias
        26
    noahlias  
       2024-07-31 09:25:25 +08:00
    什么 shell 脚本这么抽象要执行 14 个小时
    shell 本身不就是调各种命令吗 严重怀疑 shell 脚本写的有问题
    codingKingKong
        27
    codingKingKong  
       2024-07-31 09:29:07 +08:00   ❤️ 1
    可以换, 前提是你能有可靠的测试手段和测试方案.
    属于受累不讨好的工作量. 如果确实决定了, 那么请考虑以下三个方面:
    1.调研清楚为什么要 A shell 脚本要这么写, 是否有业务限制?
    2.从小到大, 从易到繁, 不要上来就去动最麻烦的那个, 不确定的不要动.
    3.测试, 保证你修改后不能产生问题和引入新的问题, 其中比较麻烦的点在于边界处理. 例如, 某段 shell 代码隐含的处理逻辑会产生 a 数据结果, 替换为 python 后没有这样的效果, 导致预期行为改变.
    剩下的, 就是慢慢的改, 建议每动一批之后, 留一些时间观察, 防止测试不到的事故集中爆发, 让你处理不过来.
    祝好.
    sakeven
        28
    sakeven  
       2024-07-31 09:31:01 +08:00
    如果是大规模机器上使用 python ,python 的环境问题远比 shell 要复杂,要换也是建议换成 go 、rust 之类的。
    libook
        29
    libook  
       2024-07-31 09:36:36 +08:00 via Android
    shell 主要用于调用其他指令处理的情况,Python/Perl 等主要用于对数据进行处理的情况,你可以混合使用,甚至必要情况下可以自己写 Go/Rust 程序来处理计算密集型或资源匮乏情况下的任务。
    zictos
        30
    zictos  
       2024-07-31 09:40:19 +08:00 via Android
    python 肯定可以替代 shell 啊,写起来方便很多很多,不过已经写好的 shell 就暂时没必要换了。
    重点体现在实现同样需求的代码量和简洁度,不过如果要优化速度,python 优化起来也会方便很多。执行外部命令用 subprocess 可能稍微麻烦点,代码行数可能多点,除非还是用 os.system 和 os.popen
    guanzhangzhang
        31
    guanzhangzhang  
       2024-07-31 09:44:39 +08:00
    要看实现手段,之前腾讯有个论坛出了个奖金题目,处理一个 nginx 日志里 ip 信息,有用 perl 的,有用 python 的,有用 shell 的,最后第一名用时最短,大佬用了好多 shell 和 linux 黑科技
    sleepybear1113
        32
    sleepybear1113  
       2024-07-31 09:54:11 +08:00
    这不一个降本增效、提升自己存在感的机会来了嘛?先不动就不动,然后打报告,说要用 Python 优化 xx 个慢 shell ,提高性能 xx%,然后写进 OKR 里面。慢 SQL 改起来费劲,但是这个应该会好很多吧。带上 GPT 写起来更加方便,就是优化的话,可不能把原来的正常的搞崩了。
    codersdp1
        33
    codersdp1  
       2024-07-31 09:57:45 +08:00
    @sleepybear1113 可能一个不小心就是增笑了。
    ckloy
        34
    ckloy  
       2024-07-31 09:58:09 +08:00
    强烈建议先 review 下 Shell 脚本
    Emiya1208
        35
    Emiya1208  
       2024-07-31 10:02:36 +08:00
    有些东西不怎么需要性能,shell 脚本搁在那不出意外能兼容当前 +- 10 年的发行版,python 脚本放在这儿,Python 3.9 写出来的东西不一定能在 Python 3.6 上 run 起来。

    我经常在某些特定的环境写 python 运维脚本,写的不怎么优雅,这不是能力问题,因为很多时候我必须被环境缚手缚脚(完全只使用 python 标准库来写脚本)
    wu67
        36
    wu67  
       2024-07-31 10:03:49 +08:00   ❤️ 1
    生产尽量不动. bash 能跑就不 zsh, shell 能用就不 py. 等到负责人受不了了再搞, 炸了也有人一起扛雷
    naythefirst01
        37
    naythefirst01  
       2024-07-31 10:04:59 +08:00
    生产环境先稳定再高效 如果不是十分有把握 最好不要自己找锅背
    Emiya1208
        38
    Emiya1208  
       2024-07-31 10:05:07 +08:00
    补充一下 即便是 go 或是 rust ,也可能在某些特定的残疾环境上运行出现问题。所以,某些场景下,perl 甚至还有用武之地,虽然这东西我看不懂。
    AAAAAAAAAAAAAAAA
        39
    AAAAAAAAAAAAAAAA  
       2024-07-31 10:15:43 +08:00
    生产环境怎么统一管理的,可以统一的话可以试,需要先立项,比如能给你领导或者领导的领导写一页 PPT 那种,提高了多少效率之类的,然后从上往下执行。
    baobao1270
        40
    baobao1270  
       2024-07-31 10:31:34 +08:00
    @Canglin 还是看个人感觉吧,比如你这个替换 3000+文本个人认为算复杂的。还有大量文本模板填充之类,配置文件生成,不是简单的 grep / awk 就能处理的日志分析之类的。
    Canglin
        41
    Canglin  
    OP
       2024-07-31 10:36:50 +08:00
    @baobao1270 #40 你想复杂了,就是很简单的抽一行字符串然后写到新的文件中
    Canglin
        42
    Canglin  
    OP
       2024-07-31 10:40:08 +08:00
    @wu67 #36 看来是有经验的
    langhuishan
        43
    langhuishan  
       2024-07-31 10:51:06 +08:00
    能动就别换,让我想起了切尔诺贝利
    vialon17
        44
    vialon17  
       2024-07-31 10:53:15 +08:00
    可以试试 lua
    4BVL25L90W260T9U
        45
    4BVL25L90W260T9U  
       2024-07-31 10:57:15 +08:00
    重构、换语言本质上是公司内部的政治运动。你考虑下是不是你这个级别能推得动的吧。
    Canglin
        46
    Canglin  
    OP
       2024-07-31 10:58:45 +08:00
    @ospider #45 感觉一下子就说到重点了
    wws2023
        47
    wws2023  
       2024-07-31 11:00:11 +08:00
    @catsoul 这个实在,弄好了白费时间,没银子拿 ,弄不好饭碗今天就得丢
    meeop
        48
    meeop  
       2024-07-31 11:09:36 +08:00
    做了公司有奖励就干,做了没奖励就不干
    Adonis142857
        49
    Adonis142857  
       2024-07-31 11:28:38 +08:00
    能用就别动
    tingyunsay
        50
    tingyunsay  
       2024-07-31 11:30:02 +08:00
    又不是不能用.jpg
    mark2025
        51
    mark2025  
       2024-07-31 11:45:18 +08:00
    替代 shell 脚本可以考虑 TypeScript:安装 nodejs ,和 tsx ,用 tsx 直接执行 ts 脚本,即实现 js 灵活也能有类型保护。
    enihcam
        52
    enihcam  
       2024-07-31 12:10:51 +08:00
    “Shell 执行了 14 小时左右”

    是一天执行一次,还是一年执行一次?你倒是说啊!

    一天执行一次?
    先写 Python 和测试用例——》 Shell 和 Python 双跑一个月——》迁移( Shell 做 fallback 方案一年)+ 向上汇报拿奖金。

    一年执行一次?
    洗洗睡吧。
    artiga033
        53
    artiga033  
       2024-07-31 12:24:54 +08:00 via Android   ❤️ 1
    非要说替换 shell ,我觉得也是 ruby/perl 优先于 python
    duzhuo
        54
    duzhuo  
       2024-07-31 12:33:37 +08:00
    不同 python 版本都不一定兼容 还是蒜了吧
    Puteulanus
        55
    Puteulanus  
       2024-07-31 12:37:16 +08:00
    我也觉得不如用 golang ,速度可能更快,没有环境问题,而且你管理的服务器跑着一堆二进制程序完全是黑盒,防裁员利器(狗头
    oudemen
        56
    oudemen  
       2024-07-31 12:38:08 +08:00
    james122333
        57
    james122333  
       2024-07-31 12:43:58 +08:00 via Android
    这应该是写不好 首先 shell 并不是每行新建进程
    全使用内建命令效能还可以 写到 14 小时有点多 但效能还是会低于 python 因为 shell 是每行解释执行的 本身就不适合处理数据 需要效能可直接调用外部专门处理数据的工具(如三剑客)并将其一并处理不建立额外进程 当然怎么做依照经验 shell 本身强在注重状态 可以容易写流程与调用
    lolizeppelin
        59
    lolizeppelin  
       2024-07-31 12:55:50 +08:00
    @baobao1270
    笑死还 type hinting...

    你猜猜大量用的系统是啥版本....
    包含上千个脚本的公司你猜猜用啥系统...
    搞不好一堆 init.d
    lolizeppelin
        60
    lolizeppelin  
       2024-07-31 12:57:50 +08:00
    @artiga033
    ....你听说过 perl 的笑话么.....
    还用 perl 笑死..perl 要是靠谱根本没 python 在系统里的立足之地

    ruby 还 tm 有人用么现在..瞎出主意,楼上居然还有说用 lua 的..

    要么 shell 要么 python 要么 golang
    lolizeppelin
        61
    lolizeppelin  
       2024-07-31 13:00:58 +08:00
    楼主你也不要想着全换...把脚本和模块一样分类..看看那些是系统无关的..哪些纯字符串处理的

    确定好功能后,影响小的、适合换其他语言的就换,不适合的就不换,别想着全干掉

    脚本.sh 后缀没意义的,里面直接是个 python 或者直接是二进制文件都可以

    完全可以做到不改脚本名替换代码
    vvhy
        62
    vvhy  
       2024-07-31 13:01:12 +08:00   ❤️ 1
    唉,看到前排真的很感慨,知道大家说得有道理,但是很难接受
    SimonOne
        63
    SimonOne  
       2024-07-31 13:20:46 +08:00
    首先 import os🙈
    Heo
        64
    Heo  
       2024-07-31 13:22:48 +08:00
    新写的用 python ,以前写的维持 shell
    akin520
        65
    akin520  
       2024-07-31 13:41:23 +08:00
    能用不动
    jim9606
        66
    jim9606  
       2024-07-31 13:43:57 +08:00 via Android
    如果能保证只使用 python3 不兼容 2,并且忍住不用任何第三方库,还是不错的。
    建议只迁移数据处理的部分,例如 http 收发,修改 json,数值计算之类的,通过 argparse 将参数暴露给流程控制的 sh
    poporange
        67
    poporange  
       2024-07-31 13:46:12 +08:00
    公司的脚本,就别乱动了吧,万一你一个没改好,不纯纯自己给自己找事儿。
    Canglin
        68
    Canglin  
    OP
       2024-07-31 14:29:37 +08:00
    @enihcam #52 临时工单,就那么一次,妹有频率,我就是举个例子,并不是针对这一个单子
    tomemi
        69
    tomemi  
       2024-07-31 15:01:04 +08:00
    python 环境坑太多
    yougg
        70
    yougg  
       2024-07-31 15:28:51 +08:00
    1000+Shell 脚本 是为了应对多少不同的环境和复杂场景才积累出来的数量? 你是怎么想象出来随便就能用胶水语言搞定这些环境和场景的?做一个合格的运维就老老实实拿起《高级 Bash 脚本编程指南》啃透了然后直接去解决你提到的性能问题,少在哪折腾胶水在不同版本的存在的一堆兼容性问题。
    ytmsdy
        71
    ytmsdy  
       2024-07-31 15:37:42 +08:00
    1000+的 shell 脚本,这也算是搞复杂性项目了,没事别乱动,搞炸了搞不好你就能直接 N+1 了。
    这么多的定时任务,公司其实是需要从系统级别来搞了
    McreeWu
        72
    McreeWu  
       2024-07-31 15:38:20 +08:00
    @lolizeppelin #60 赞同,简单的用 shell ,复杂点的用 python ,有能力用 golang 。
    dddd1919
        73
    dddd1919  
       2024-07-31 15:42:00 +08:00
    立新不破旧
    wanniwa
        74
    wanniwa  
       2024-07-31 15:52:10 +08:00
    你可以以后新加的脚本换成 python ,以前的都不动
    forQ
        75
    forQ  
       2024-07-31 16:22:20 +08:00
    既然不会写 shell ,只会一点 python ,那就什么都别动
    godwinma
        76
    godwinma  
       2024-07-31 16:30:50 +08:00
    @Canglin #12 你这咋想的,学习一定要用生产的东西玩吗?
    shyangs
        77
    shyangs  
       2024-07-31 16:36:02 +08:00   ❤️ 2
    不會 Shell 你是改寫不了舊的 shell script 為 python 的, 別搞出生產事故了.
    VYSE
        78
    VYSE  
       2024-07-31 17:11:41 +08:00
    替换 sh, python 不加-u 肯定要被坑
    XDiLa
        79
    XDiLa  
       2024-07-31 17:20:35 +08:00   ❤️ 1
    @somebody1
    崩不住了 看到你说的这句话
    yufeng0681
        80
    yufeng0681  
       2024-07-31 19:24:00 +08:00
    @lolizeppelin #61 做事情有调理,点赞!
    题主已经有想法了,评论家们都一边倒的不建议动, 他们是安全第一。
    题主要想晋升,就必须在常规工作外有亮点的绩效,这个一千个脚本就是意外工作可能的亮点。
    1 、 先把 1000 个脚本分类, 把非系统运营用的脚本筛出来, 写 ppt 告诉领导隐患,改进办法,你的实际改造效果(其中 1~2 个案例),由领导拍板后续思路。
    2 、基于这些个非系统运营脚本,对你们公司业务进行抽象,看看能不能找到更好的集成工具,对这一类需求能搞个类似低码平台的方式,轻轻松松做出来,开发成本,运行效率,维护成本等方面都能极大改善 [这是另外一个 ppt] , 这个做出来或者汇报出来,估计就能成为你下一阶段的专项工作,也能获得卓越绩效
    levelworm
        81
    levelworm  
       2024-07-31 19:36:34 +08:00 via Android
    复杂的脚本可以试试看。
    iorilu
        82
    iorilu  
       2024-07-31 19:51:25 +08:00
    14 小时?

    脚本写的有问题把, 脚本也是调用一些工具 awk 之类的, 这些工具本身并不慢
    my3157
        83
    my3157  
       2024-07-31 20:48:00 +08:00
    个人经验, 一般避免 shell 脚本超过 60 行, 时间长了累计大量的 shell 脚本维护起来太困难了
    qaq44566
        84
    qaq44566  
       2024-07-31 22:11:00 +08:00
    最近尝试用 lua 替代 shell ,目前已经能实现一个进程中 lua 调用 shell 的函数,shell 调用 lua 的函数,不过还需要一些工作

    (不是推荐群主换,我自己有个 3000 行的脚本想重构

    [https://github.com/qaqland/dotlua]( https://github.com/qaqland/dotlua)
    mylovesaber
        85
    mylovesaber  
       2024-07-31 23:15:44 +08:00
    楼主可否详细点介绍下 [抽取 3000+文本文件中的特定条件的字符串到指定文件中] 的情况?有点好奇想测试下效果,有 demo 吗? shell 理论上没这么慢吧,各种文件中都有多少内容啊?
    qzydustin
        86
    qzydustin  
       2024-07-31 23:16:38 +08:00
    个人项目就换了,公司项目...emmm...有什么必要嘛。
    lanlanye
        87
    lanlanye  
       2024-08-01 04:04:06 +08:00
    系统里本来就有很多不同的脚本,除了 shell 的一般至少还会有一些 Perl 和 Python 的,偶尔还有一些 Lua 和 Ruby 的。
    我倾向于在系统预装的里面选一个自己比较熟练的。
    mayli
        88
    mayli  
       2024-08-01 04:25:15 +08:00
    除非有明显优势,或者你就是纯想学习,否则没必要。
    vsheyan
        89
    vsheyan  
       2024-08-01 05:50:28 +08:00
    @catsoul 而且根据以往的经验不出事情的概率微乎其微,这 3000 行的 shell 里面处理特殊情况的代码至少就得几百行
    Tink
        90
    Tink  
    PRO
       2024-08-01 08:55:59 +08:00
    什么项目需要用到 1000+shell 脚本。。
    javak
        91
    javak  
       2024-08-01 09:42:45 +08:00
    想见识一下 python 怎么把 shell 14 小时的功能优化到 20 分钟的。op 可以把敏感信息砍掉
    shaozelin030405
        92
    shaozelin030405  
       2024-08-01 09:55:41 +08:00
    1. 可以
    2. 自己学自己写
    3. 别动生产,到时候出了问题别睡觉了
    jackmod
        93
    jackmod  
       2024-08-01 10:42:35 +08:00
    没事别在大规模系统上用 python 。你自己锁版本了,不代表依赖的包会锁,也不代表依赖的依赖会不会严格遵循版本号。
    给自己和自己的小组写的工具无所谓用什么。
    enihcam
        94
    enihcam  
       2024-08-01 13:07:23 +08:00
    @Canglin 那你管它干什么?
    aloxaf
        95
    aloxaf  
       2024-08-01 14:59:31 +08:00
    1000+ shell 脚本,你敢动这坨屎山?……

    还有 3000+ 文本文件的字符串提取怎么会这么慢,你们难道每个字符串 x 每个文件都 grep 一次?
    vx7298
        96
    vx7298  
       2024-08-01 15:24:31 +08:00
    就这点数量,还不够塞牙缝,以前就不说了,现在我已经把所有脚本统一用 gpt 转换为 golang 了,简直不要太爽了,shell 脚本的一个主要问题是,轻易不写,写的时候,查半天,熟练了,然后又停很久,全忘完,蛋疼,只有运维才天天写这玩意
    jenson47
        97
    jenson47  
       2024-08-01 16:36:10 +08:00
    第一:从工作量来看,这个需要很多时间,建议不要个人操刀,要上面下任务再去弄,不然费时费力,出事还背锅。
    第二:一般情况下,如果对项目不熟,能跑就别动,而且你的脚本还不少。如果硬是要搞,最起码先调查下各个系统情况,比如 python 版本
    第三:失败补偿方案要跟上,此外如何边开发边验证,还有就是 python 扩展包管理 [方便机器移植]
    james122333
        98
    james122333  
       2024-08-02 10:06:18 +08:00 via Android
    @vx7298

    也不用天天写 专门研究即可
    我ㄧ开发都写
    novaline
        99
    novaline  
       2024-08-02 10:52:36 +08:00
    既然问的这么宽泛,答案很简单:Yes, you can
    magine
        100
    magine  
       2024-08-07 11:42:34 +08:00
    第一个问题:给你钱吗?不给钱不要承担责任。

    如果自己练手,可以写,但永远不要上线。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5158 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 09:11 · PVG 17:11 · LAX 02:11 · JFK 05:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.