文章目录
前言
作为运维工程师,必须需要知道shell脚本中if判断语句,case语句,for循环等等的语句用法,并结合linux基础的命令,这样可以在现实环境中更便捷、更高效的工作。
一、字符串比较
1、字符串比较格式1:[ 字符串1 = 字符串2 ]
2、字符串比较格式2:[ 字符串1 != 字符串2 ]
3、常用的测试操作符
4、空字符案例
5、等于号与不等号案例
二、逻辑测试
1、逻辑测试格式1:[ 表达式1 ] 操作符 [ 表达式2 ]
2、逻辑测试格式2:命令1 操作符 命令2
3、常用的测试操作符
4、案例
5、综合区别
三、if语句
1、单分支结构语法
1.2、单分支逻辑图
1.3、单分支案例
2、双分支结构
2.1、双分支结构语法
2.2、双分支逻辑图
2.3、案例
3、多分支结构
3.1、多分支结构图
3.2、多分支逻辑图
3.3、多分支案例
四、case语句
1、case 多分支结构图
2、案例
五、for循环
1、for循环语句结构
2、案例1:使用for循环测试网段
3、案例2:菱形
六、while循环
1、while循环基本语法
2、逻辑图
3、案例
七、函数
1、函数包括系统函数和自定义函数
1.1、basename 基本语法
basename [pathname] [suffix]
basename [string] [suffix]
作用是basename命令会删除所有的前缀包括最后的选项
suffix 是后缀,如果suffix被指定了,basename会将pathname或string中的suffix去掉
1.1.1、功能:返回完整路径最后 / 的部分,常用于获取文件名
1.1.2、案例
1.2、dirname 基本语法
dirname 文件绝对路径
功能描述:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录部分)
1.2.1、功能:返回完整路径最后 / 前面的部分,常用于返回路径部分
1.2.2、案例
2、自定义函数
2.1、自定义函数语法 X是int
2、案例
八、数组
1、元素元素
2、元素替换
3、元素删除
4、冒泡排序
4.1、逻辑图
4.2、冒泡排序案例
八、shell脚本备份案例
九、自动化安装BIND
总结
今天最主要的就是if判断,if判断分为单分支、双分支和多分支。一般来说,if判断与for循环嵌套使用为最佳,在循环中判断变量值是否正确,以及提取运行返回值,当然,这里for循环一般使用在先判断后运行的情况下。case语句相比较if判断来说,更为简单和方便一些,但可操作性较弱,使用率颇少。while循环与for循环相仿,使用频率也差不多,函数使用比较多的是自定义函数,我们将其当作集装箱式,不会自动运行,需要调用,所以使用也较为常用些