🔥前言
本系列为Linux基础操作,共有四篇,第一篇为了解Linux的基本概念与操作及相关的文件目录操作第二篇为Linux的用户与网络管理第三篇为Linux的进程和磁盘管理及安装包管理第四篇为Linux shell编程。
本篇为第四篇:Linux shell编程
🚀if else条件控制
基本的if语句
if condition then command1 command2 ... commandN fi
带else的if语句
if condition then command1 command2 ... commandN else command fi
嵌套的if语句
if condition1 then command1 elif comdition2 then command2 else commandN fi
具体示例
1、简单比较
#!/bin/bash a=$1 b=$2 if [[ -z ${a} && -z ${b} ]] then echo "The length of the two string is 0." else if [[ ${a} != ${b} ]] then echo "${a} != ${b} :a is not equal to b" else echo "${a} == ${b} :a is equal to b" fi fi
2、根据路径与文件名,查看是否存在该文件
场景:在服务器中查找对应的日志文件。
3、查看是否为当前用户
🚀for 循环
for var in item1 item2 ...... itemn do command1 command2 ...... commandn done
具体示例
#!/bin/bash sum=0 for (( i=1; i<=100; i++ )) do sum=$(( ${sum} + ${i} )) done echo "1+2+3+4...+100 = ${sum}"
🚀测试IP地址
🚀获取当前主机的IPv4地址列表
场景:
这个脚本可以应用于任何表格有第二列数据的情况,把某一行的第二列的数据取出来,所以并非一定用于获取ip地址场景:同时也是grep、awk和sed 这三个命令的综合应用
- grep:先过滤出来含inet的行,inet后要加个空格,去掉含inet6的行
- awk:取出第二列,并打印出来
- sed:在一个文档内部的查找和替换功能
- s:替换,s后的/是一个分隔符
- addr : 被替换的关键字,// 代表分隔符中间是空的,代表将addr:替换成空
- g :如果查找到不止一个,全部替换
⭐️⭐️⭐️总结
本篇是linux基础的最后一篇,对shell编程中if、for的语法介绍,以及实际场景的运用。