写了个小脚本的总结吧

来源:互联网 发布:mac chown命令详解 编辑:程序博客网 时间:2024/04/28 21:30

             最近因为业务需求,写了两个小shell脚本,来抓取日志,统计服务异常情况并发邮件。本来是个小小的需求,奈何自己却折腾了很久,分享下自己其中遇到的问题咯

        1.在最开始接到这俩需求的时候,没有把需求搞清楚,只是听了个大概,然后想着按照自己的方法去做,结果做出来的东西,呵呵呵,自然不被承认,毕竟不是按需求来得。切记,切记,需求一定要搞清楚,才可以进入下一阶段,需求搞不清楚,打死也不能走下一步,毕竟大方向都是错的

        2.因为写好的脚本需要上传到脚本管理平台,然后添加任务,部署到相应的服务器上,才能执行,我的上传方法:正常的上传流程是:svn->脚本管理平台,但是我怕麻烦,觉得这样子流程太复杂,直接在脚本管理平台上进行修改,结果就悲剧了,这样子很乱,导致最后脚本平台上执行的脚本和自己写的脚本不一致,自然少不了一顿骂,有些时候还是不能偷懒,怕麻烦,不然就悲剧

        3.写好脚本都上传之后也不能大意,要关注脚本的执行时间的长短,执行结果是否符合预期,并且应该在脚本执行的日子里时刻关注,毕竟是自己写的,要对自己写的东西负责,别人知会关注结果,做事情要有始有终

        4.还是对shell脚本不太熟悉,基本都是现学现用的,大部分都应付得来,但是有一个问题很是操蛋,shell脚本的变量问题,困惑了我许久最后才解决,现在来说下这个问题:

       变量:在同一个shell脚本内,shell的变量都是全局的,不存在全局还是局部之分

       但是在写代码的时候会出现:明明在之前定义了变量,也已经赋值,但是结果呢,在后面用的时候确和没定义过一样,是空值

      原因:因为中间使用了 管道 “|”,每一个管道都会是子shell,是一个独立的进程,所以才会出现之前的问题,明明已经赋值了,用的时候却没有值,因为已经是不在同一个shell内了

     解决办法:是使用管道地方改为使用文件来存贮中间结果再处理文件或者避免使用管道就可以咯咯!!

毕竟还在午休,睡觉了!

      

0 0
原创粉丝点击