美文网首页少用百度,多看官方文档程序员互联网科技
锱铢必较:程序员生存指南——插件式使用linux配置文件

锱铢必较:程序员生存指南——插件式使用linux配置文件

作者: 大神带我来搬砖 | 来源:发表于2018-05-15 22:03 被阅读14312次

    程序员们的内心都有这样的逻辑

    if (我的程序.功能 == 你的程序.功能):
        if(我的程序.代码行数 < 你的程序.代码行数):
            assertTrue(我的程序.牛逼程度 > 你的程序.牛逼程度 )
    

    牛逼程度决定了程序员的境界,是程序员的生存之本,所以程序员一般会殚精竭虑,舍生忘死的减少代码行数。本文就讲述了这么一个小故事。

    近日来,家住北京市朝阳区的程序员诸葛建国非常忙碌,他开发了一套产品,唤做JDT,需要部署到客户的linux服务器上。JDT完美无缺,就是有个小瑕疵——需要设置一个环境变量才能工作!!!所以他不得不在JDT的安装脚本中,增加一个设置环境变量的功能。

    设置一个环境变量还不容易?直接在安装脚本中写

    echo "export bar=foo" >> /etc/profile
    

    注意要用>>,否则原来内容就没喽。

    写完之后发现一个问题,JDT总是不能一蹴而就、一泻千里的安装成功,所以经常需要重新运行安装脚本。这样安装完之后,/etc/profile文件末尾就有好几个“bar=foo”。作为一个有洁癖的程序员,诸葛建国当然不能容忍啦,赶紧加班加点改了安装脚本。

    if grep "export bar=foo" /etc/profile > /dev/null
    then
        echo "will do nothing"
    else
        echo "will do something"
        echo "export bar=foo" >> /etc/profile
    fi
    

    这里grep命令可以直接接到if后面,grep的返回值直接作为判断条件。

    诸葛建国正在为这个技巧洋洋得意,夏侯富贵出现在了他身边,告诉他:“用/etc/profile.d文件夹”

    所以现在用

    echo "export bar=foo" > /etc/profile.d/jdt.sh
    

    就行了,想运行几次就运行几次!!!

    诸葛建国后来发现,linux好多配置都有这种插件式的表现形式,比如/etc/lograte.d/,/etc/cron.daily/,/etc/security/limits.d/,它们有个主要的配置文件,然后有一大堆插件式的配置文件。

    这种方式的好处是插件的配置不用再参差不齐、鱼龙混杂的放在一起了。而且主程序的升级更方便了,比如系统上安装了一个nginx,你修改了/etc/nginx/nginx.conf,增加了一些目录映射,然后用yum更新了一下nginx,这时nginx安装程序就会很崩溃,到底是用新版本的配置文件还是系统中现有的配置文件?


    安装程序的内心世界

    把nginx的配置放到/etc/nginx/conf.d/文件夹就方便多了,nginx升级程序大刀阔斧歇斯底里的覆盖原有配置文件/etc/nginx/nginx.conf就行了。

    相关文章

      网友评论

      本文标题:锱铢必较:程序员生存指南——插件式使用linux配置文件

      本文链接:https://www.haomeiwen.com/subject/ommfdftx.html