王志勇 发表于 2019年09月26日 10:02
这是因为这些命令是从我编写的LAMP/LNMP一键Shell命令里复制的,由于时间的关系,来不及一一删除分号。这个一键命令是经过大量调试而写成的成品。它目前分为3大部分(3个文件),对外链接、主程序(生成Ubuntu/Debian/CentOS不同系统版本相应的一键Shell命令,由PHP+Shell完成)、后期优化程序。
其中,主程序的作用主要是根据不同系统版本,生成相应的一键Shell命令。多个命令之间,是由于我个人的编程习惯,关联度特别高的部分,喜欢把它们放在一片区域里、或者放在一行。
关联度不太高的部分,则单独一行。例如重启nginx、fpm可以写成这样:
service nginx restart
service php-fpm restart
也可以写成这样:
service nginx restart; service php-fpm restart;
两种写法在视觉上,其实区别很小。多数的编程者,更喜欢第1种写法,因为看起来似乎更易读。
但是,如果习惯了第2种的写法,和第1种写法看起来,是没有区别的。这好比诗歌、散文的格式区别,诗歌是一个简短的句子就回行,散文则是一段一段的。
第2种编程写法的优点:
因为在实际的项目中,程序语句的量是多到无法估计的,十分庞大。这种情况下,程序并不是用来一一阅读,而是用于分析。如果把关联度高的语句放在一起,形成一个语句的小区域,其实更容易分析,这样的程序不是一句一句地读,而是一片一片地读。
如果用于分析PHP的花括号的起始位置,或者Shell程序的if、fi的起始位置,我写了一个分析的工具,有了这个工具,每天至少为我节省30-60分钟,瞬间就能查到,如果没有这个工具,每次我人力分析花括号的起始位置至少得3-15分钟。
本文的重点
由于这些一键Shell命令是由Shell+PHP,或者PHP+Shell生成的,PHP和Shell互相调用。为了防止某种环境下,回行被删除,会出现这种情况:
service nginx restartservice php-fpm restart
或者出现这种情况:
service nginx restart service php-fpm restart
上述2个命令都不执行。
所以,就在所有的Shell命令之后加个分号,防止出错。自动生成的命令会是这样的:
service nginx restart;
service php-fpm restart;
或者这样:
service nginx restart; service php-fpm restart;
或者这样:
service nginx restart;service php-fpm restart;
上述3种写法都不会出错。
置顶的文章:
论朋友圈可以发什么?
短信验证开发的方案分享
巡回更新:2018-09-21
速度是永恒的主题
UTF-8、HTTPS原来都是浮云
https安全吗?
独立博客有必要安装https吗?
近期的主题:
夜晚靓歌(10):你没看过的《星雨心愿》
Feedval、Blogval将下线/谈理财和生存
2024.9感言
人生讨论(20):有人借钱怎么办?(2)
人生讨论(19):迄今为止最强的情感频道
数码评测(67):让小米/红米手机的反应提高1~2倍
数码评测(66):无线网卡FW150UH VS FW150UH
数码评测(65):如何快速自制CPU天梯图?
数码评测(64):2024年,你还在用VGA线吗?
人生讨论(18):6年就可以实现财务自由
人生讨论(17):为什么总是受欺负?
人生讨论(16):要钱的最新妙招
创业杂谈(17):什么项目能赢利?
人生讨论(15):有人借钱怎么办?
数码评测(63):高清切换超级神器
数码评测(62):再谈视频的尺寸
数码评测(61):近期数码采购和折腾
人生讨论(14):看穿尊重
数码评测(60):图拉丁-最佳中配工作“免费”手机
创业杂谈(16):博客何时终结?
版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。
与此相关的链接
自由勇专栏
Blog存档 Archives
2022年07月
2022年06月(15)
2022年05月(20)
2022年04月(16)
2022年03月(9)
2022年02月(9)
2022年01月(10)
2021年 +