硬编码
- 硬编码(Hard Coding)是指在程序代码中直接使用固定值,而不是通过变量、配置文件或参数来动态获取这些值
- 比如在脚本中写入一个ping命令,目标的IP地址固定为192.168.10.101(直接嵌入常量或固定逻辑),这就是硬编码
硬编码的缺点
- 难以维护:当需要修改硬编码的值时,需要直接修改源代码,并重新编译、部署应用。这增加了出错的风险和维护成本。
- 缺乏灵活性:硬编码使得程序在不同环境中运行时缺乏灵活性。例如,开发环境和生产环境的配置可能不同,如果使用硬编码,就需要为每个环境分别修改代码。
- 可读性和可管理性差:随着项目规模的增大,硬编码会导致代码难以阅读和管理,特别是当这些值分散在多个文件和模块中时。
命令行语句
判断指定目录是否存在
使用 test -d 目录路径 来判断指定目录是否存在
并使用echo $? 命令检测命令执行状态,非0表示不正常
判断指定文件是否存在
test -f 文件路径 判断文件是否存在
判断指定对象是否存在
表达式形式语句
判断对象是否存在
判断对象是否有权限
- -r:读权限
- -w:写权限
- -x:执行权限
比较大小
运算符 | 说明 |
-eq | 等于(equal) |
-ne | 不等于(not equal) |
-gt | 大于(greater) |
-ge | 大于等于(greater or equal) |
-lt | 小于(less) |
-le | 小于等于(less or equal) |
逻辑表达式
- &&(与运算):条件1 && 条件2
- 如果条件1执行成功,也执行条件2
- ||(或运算):条件1 || 条件2
- 如果条件1不成功,条件2才会执行
if 语句
if:如果
如果判断的条件成立,就执行指定的命令
单分支结构
语法格式
语句原理
双分支结构
语法格式
语句原理
多分支结构
语法格式
语句原理
case语句
case:情况
语法格式
语句原理
将脚本注册位系统服务
修改脚本文件,增加必须的规则
35:开机自启的运行级别(3、5),也可写位”-“表示所有运行级别
90:启动优先级
20:关闭优先级
服务管理方式
-
systemctl
- 串行启动
- 如果系统的守护进程是systemd,管理系统服务的就是 systemctl
- systemctl start|stop|restart|reload|status|enable|disable httpd
- systemctl 选项 服务名称
-
service
- 并行启动
- 如果系统的守护进程是init,管理系统服务的就是 service 管理(在CentOS 7往后,系统内的init是systemd的链接)
- service httpd start|stop|restart|reload|status
- service 服务名称 选项
- 通过chkconfig 服务名 on 将该服务设为开机自启
- 需要将脚本文件放置在 /etc/init.d/ 目录下
- 该脚本需要有执行权(chmod +x)