shell条件测试和流程控制

本文介绍Shell脚本中条件测试操作的基础知识,包括文件状态测试、字符串比较、整数值比较及逻辑测试等内容,并概述了if条件语句、case条件语句、while循环语句、for循环语句等控制结构的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、条件测试操作

1、test

用途:测试特定的表达式是否成立,当条件成立时,命令执行后的返回值为0,否则为其他数值

格式:test 表达式

2、常见的测试类型

①测试文件状态

格式:[ 操作符 文件或目录 ]

常用的操作符:

-d:测试是否为目录

-f:测试是否为文件

-e:测试文件是否存在

-r:测试当前用户是否有读取的权限

-w:测试当前用户是否有写的权限

-x:测试当前用户是否有执行的权限

-L:测试是否为链接文件

②字符串比较

格式:[ 字符串1 = 字符串2 ]

         [ 字符串1 != 字符串2 ]

         [ -z 字符串1 ]

常用的测试操作符:

=:字符串内容相等

!=:字符串内容不相等

-z:字符串内容为空时,返回true,否则返回false

③整数值比较

格式:[ 整数1 操作符 整数2 ]

常用的测试操作符:

-eq:等于

-ne:不等于

-lt:小于

-le:小于等于

-gt:大于

-ge:大于等于

④逻辑测试

格式:[ 表达式1 ] 操作符 [ 表达式2 ]

常用的测试操作符:

-a:逻辑与,而且的意思,前后两个表达式都成立的时候,返回真,否则返回假

-o:逻辑或,或者的意思,前后两个表达式只要有一个成立,返回真,否则返回假

!:逻辑否,当指定的条件不成立时,返回真

二、if条件语句

1、单分支

2、多分支

 

三、case条件语句

四、while循环语句

五、for循环语句

六、continue跳过本次循环

七、break终止循环

八、shift迁移语句

用于传递位置变量,将$1~$9依次向左传递

1、若当前脚本程序获得的位置变量如下:

$1=file1 $2=file2 $3=file3 $4=file4

2、执行一次shift命令,各位置变量如下:

$1=file2 $2=file3 $3=file4

3、再次执行shift命令,各位置变量如下:

$1=file3 $2=file4

 

转载于:https://www.cnblogs.com/rrb520/p/7809453.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值