shell编程之条件语句与case语句

简介: shell编程之条件语句与case语句

shell编程之条件语句与case语句


一、条件测试

1.1 测试的方法

  • test命令测试
  • [ ]测试(注意前后需要有空格)
  • [[ ]](是[ ]的加强版),测试支持通配符和正则表达式

1.2 测试的选项


选项 含义
-e 测试文件或目录是否存在
-d 测试是否为文件夹
-f 测试是否为普通文件
-r 判断当前用户是否有读权限
-w 判断当前用户是否有写权限
-x 判断当前用户是否有执行权限
-L 测试是否为软连接文件

1.3 整数比较

格式:[ 整数1 操作符 整数2 ]   
操作符 含义
-eq 等于
-ne 不等于
-gt 大于
-lt 小于
-le 大于等于
-ge 小于等于

1.4 字符串比较

格式:[ "字符串1" 操作符 "字符串2" ]

-z:检查字符串是否为空

-n:检查字符串是否存在

操作符 含义
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于

1.5 逻辑测试

格式1:[ 表达式1 ] 操作符 [ 表达式2 ] 
格式2:[命令1 操作符(只能为字母) 命令2] 

常见条件

  • 逻辑与:-a或&&
  • 逻辑或:-o或||
  • 逻辑否:!
[ 表达式1 ] && [ 表达式2 ] 等同于 [ 表达式1 -a 表达式2 ] 等同于 [[ 表达式1 && 表达式2 ]] 
[ 表达式1 ] || [ 表达式2 ] 等同于 [ 表达式1 -o 表达式2 ] 等同于 [[ 表达式1 || 表达式2 ]]

二、if语句

2.1 if单分支结构

if [ 表达式 ]
then
  ......
fi

2.2 if双分支结构

if [ 表达式 ]
then
  ......
fi

2.2 if双分支结构

if [ 表达式 ]
then 
  命令序列1
else
  命令序列2
fi

image.png

image.png

2.3 if多分支结构

if [ 表达式 ]
then
  命令序列1
elif
  命令序列2
  .
  .
  .
else 
  命令序列n
fi

image.png


image.png

三、case语句

case 变量 in 
模式1)
  ....
  ;;
模式2)
  ....
  ;;
*)  
  ....
  ;;
esca 

image.png

image.png

目录
相关文章
|
3月前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
1月前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
2月前
|
Shell
Shell编程(下)
Shell编程(下)
111 1
|
2月前
|
Shell Linux Windows
Shell编程(上)
Shell编程(上)
47 1
|
2月前
|
Shell Linux 开发工具
|
2月前
|
监控 Unix Shell
shell脚本编程学习
【10月更文挑战第1天】shell脚本编程
83 12
|
3月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
网络协议 Shell Linux
【Linux】shell编程基础(超详细,入门看这一篇就够了)(下)
【Linux】shell编程基础(超详细,入门看这一篇就够了)(下)
109 0
|
7月前
|
存储 Shell C语言
shell脚本 编程 变量 基本入门(详解)
shell脚本 编程 变量 基本入门(详解)
|
Java Shell Linux
【Linux】shell编程基础(超详细,入门看这一篇就够了)(上)
【Linux】shell编程基础(超详细,入门看这一篇就够了)
836 0