shell编程-分支语句和循环结构

2024-01-09 04:29:07

流控制:


?在一个shell脚本中的命令执行顺序称作脚本的流。大多数脚本会根据一个或多个条件来改变它们的流。?

?流控制命令:能让脚本的流根据条件而改变的命令称为条件流控制命令?

?exit语句:退出程序的执行,并返回一个返回码,返回码为0正常退出,非0为非正常退出,
例如:?
?exit 0

分支语句

If语句

语法如下:
例:
若果$1等于1那么打印1等于1,又如果$1等于2那么打印2等于2,否则打印$1既不等于1也不等于二

if [ $1 -eq 1 ]
then
? ? ? echo '等于1'
elif [ $1 -eq 2 ]
then
?? ??? ??? ?echo '等于二'
else
?? ??? ??? ?echo '既不等一,也不等于二'
fi

case语句

case 语句是 shell 中流控制的第二种方式,语法如下:?
读取用户标准输入:read?
read:功能就是读取键盘输入的值,并赋给变量
参数注:
-s '后面的内容是加密信息,不要输出' -t 超时时间
例:
read -p "请输入你要执行的序号:"? name?

case $name?in
模式1)
?? ??? ??? ??? ?执行1
?? ??? ??? ??? ?;;
模式2)
?? ??? ??? ??? ?执行2
?? ??? ??? ??? ?;;
模式3)
?? ??? ??? ??? ?执行3
?? ??? ??? ??? ?;;
*)
? ? ? ? ? ? ? ? exit 1
esac

循环结构

shell循环-for语句

!#/bin/bash
for i in {取值范围}? ? ? # for 关键字 ?i 变量名 in 关键字??
do? ? ? ? ? ? ? ? ? ? ? ? ? ??? # do 循环体的开始
?? ??? ??? ??? ?循环体
done ? ? ? ? ? ? ? ? ?????????# done 循环体的结束

?shell循环while语句? (while循环,条件为真的情况下,会循环)

!#/bin/bash
while 条件 ? ?????????# while 关键字 ? ? ? ? ?#条件? 例:[ $1 -lt 10 ]? ?
do
?? ??? ?循环体
done


a=0
while [ $a -lt 100 ]
do
? ? # a=$[ $a + 1 ]
? ? let a++
? ? echo $a
done

?shell循环until语句??

!#/bin/bash
until 条件? ? ? ?# 当后面的条件表达式,为假的时候进行循环,当他为真了就停止循环了。
do
循环体
done


a=0
until [ $a -gt 10 ]
do
? ? let a++
? ? echo $a
done

感谢观看!希望能够帮助大到家!

文章来源:https://blog.csdn.net/yz2322944912/article/details/135429055
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。