王志勇 发表于 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吗?
近期的主题:
创业杂谈(6):捡钱/赚钱的一个重要原理
夹缝中生存
2023新年开篇:人生最重要的事情,念经持咒
2022年结语
创业杂谈(5):赚钱方法秘密的发现
创业杂谈(4):博客怎样写有(大的)流量?
中文博客最恰当的叫法
本博客需要重温置顶
指出最不规范的网名
编程杂谈(6):永恒的论坛和2023问题
创业杂谈(3):为什么网络赚钱会这样难?
谈永恒的论坛
最难熬的2022年冬天
创业杂谈(2):寻求成功
通勤50分钟买电驴吗?
编程杂谈(5):为什么说编程就是创业?
编程杂谈(4):擅长和成功
编程杂谈(3):为什么写程序必须辞职?
编程杂谈(2):最重要的因素和资金问题
编程杂谈(1):选择项目
版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。
与此相关的链接
自由勇专栏
Blog存档 Archives
2022年07月
2022年06月(15)
2022年05月(20)
2022年04月(16)
2022年03月(9)
2022年02月(9)
2022年01月(10)
2021年 +