第2章 Shell编程之条件语句

硬编码

  • 硬编码(Hard Coding)是指在程序代码中直接使用固定值,而不是通过变量、配置文件或参数来动态获取这些值
  • 比如在脚本中写入一个ping命令,目标的IP地址固定为192.168.10.101(直接嵌入常量或固定逻辑),这就是硬编码

硬编码的缺点

  1. 难以维护:当需要修改硬编码的值时,需要直接修改源代码,并重新编译、部署应用。这增加了出错的风险和维护成本。
  2. 缺乏灵活性:硬编码使得程序在不同环境中运行时缺乏灵活性。例如,开发环境和生产环境的配置可能不同,如果使用硬编码,就需要为每个环境分别修改代码。
  3. 可读性和可管理性差:随着项目规模的增大,硬编码会导致代码难以阅读和管理,特别是当这些值分散在多个文件和模块中时。

命令行语句

判断指定目录是否存在

使用 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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值