Shell脚本结构流程控制

本文详细介绍了Shell脚本中的if分支、case分支、test判定、for循环、while循环和until循环的基本用法及应用实例,旨在帮助开发者掌握Shell编程中的流程控制技巧。

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

1. 分支与判定

if分支
if then fi
if then  else fi
if then elif then else fi

case分支
case语句
case  test-string in
pattern1) operation1
;;
pattern2) operation2
;;
pattern3) operation3
;;
pattern4) operation4
;;
*)    operation5 ;; #接受所有的参数,相当于default
esac

另外,对于patter还可以是 pattern1 | pattern1' ), 例如  a | A )表示接受大小写的a

test 判定
test [expression] 或 [[expression]], test可以测试很多内容,并且把结果作为整个表达式的值返回去。要注意的还有,就是说test中,任何一个运算符、圆括号、方括号或操作数的前后至少需要一个空格。如果要延续到下一行,则使用\

test可以作的文件测试
-d file        file为目录的时候,为真
-f file        file为文件的时候,true
-r file        可读的时候为true
-s file        长度大于0,为true
-t [filedes]文件描述符与终端相连的时候为真
-w file        可写的时候为真
-x file        可执行的时候为真

test可以作的整数测试
int1 -eq int2    相等
int1 -ge int2    大于等于
int1 -gt int2    大于
int1 -le int2    小于等于
int1 -lt int2    小于
int1 -ne int2    不等

test可以作的字符串测试
str                非空串为真
str1 = str2        相同的时候为真
str1 != str2    不同的时候为真
-n str            长度大于0的时候为真
-z str            长度等于0的时候为真

2. 循环结构

for循环

for variable [in arg-list]
do 
operation
done
执行的次数会跟arg-list中的参数数量一样多,每次把参数列表中的一个值赋值给变量,然后作循环
也可以直接通过shell给脚本参数变量

while循环
while expression
do
operation
done

until循环
until expression
do
operation
done

break和continue同c和java的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值