王志勇 发表于 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种写法都不会出错。
置顶的文章:
超低价享受i7-7700的体验
https速度测试(可下载精确测试工具)
家用电脑理性优化升级天梯图之2026
服务器版Linux系统的选择之2026
秒会+实战PHP程序设计培训(2)
如何快速自制CPU天梯图?
https安全吗?
独立博客有必要安装https吗?
近期的主题:
真玄学心得(24):心路历程
数码评测(74):i5-14400 VS i7-12700
如何打造优秀博客?(2)
数码评测(73):PC神U i3-7350K的体验
又丢失了一次域名起名
https利弊(2):生态的分量
写博客实在太耗时间
人生讨论(26):为什么很多人成功后很少发声?
数码评测(72):多核CPU选择之新发现
学习粤语的核心难度
通过.hk域名看当今两地互联网
Webshu一定会重新改版
数码评测(71):超低价享受i7-7700的体验
回顾2009年时的第一个完成的PHP项目
https利弊(1):https速度测试(可下载精确测试工具)
误操作导致部分数据丢失
夜晚靓歌(13):SNH48做客广州电台
人生讨论(25):永远不能出口的话
数码评测(70):测试继电器的接触电阻
数码评测(69):家用电脑理性优化升级天梯图之2026
版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。
与此相关的链接
自由勇专栏
Blog存档 Archives
2025年-2026年03月(10)
2024年(13)
2023年 +