shell之流程控制语句

shell之流程控制语句

1.if语句

1.1 单分支if条件语句

if  [ 条件判断式 ];then
    程序
fi    

或者

if   [ 条件判断式 ]
    then
       程序
fi       

单分支条件语句需要注意

1.if语句使用fi结尾,和一般语言使用大括号结尾不同。
2.[ 条件判断式 ] 就是使用test命令判断,所以中括号和条件判断式之间必须要有空格。
3.then后面跟符合条件之后执行的程序放在[]之后,用“;”分割,也可以换行写入,就不需要";"。

1.2 双分支if语句

if  [ 条件判断式 ]
    then
       条件成立时,执行的程序
     else
       条件不成立,执行的另一个程序
fi

1.3 多分支语句

if <条件表达式1>
	then
		指令1
elif<条件表达式2>
	then
		指令2
else
		指令3
fi

1.4 多重条件判断

条件表达式1 选项 条件表达式2
选项:
-a:并且
-o :或者
! 条件表达式 :取反,非

if [ $username = "root" ]  -a  [ $password = "redhat" ]
if [ $username = "root" ] &&   [ $password = "redhat" ]
if [[ $username = "root"  &&   $password = "redhat" ]]

2.case语句

case语句和if…elif…else语句一样都是多分支语句,不过和if多分支条件语句不同的是,case语句只能判断一种条件关系,而if语句可以判断多种条件关系。

case  $变量名  in
    "值1")
           如果变量的值等于1,则执行程序1
           ;;
    "值2")
           如果变量的值等于值2,则执行程序2
           ;;
     
    ...省略其他分支
    *)
           如果变量的值都不是以上的值,则执行此程序
          ;;
 esac     

3.for循环

for 变量 in 变量取值列表
do
	程序
done

seq 1 2 10     #打印奇数    起始位置 步长 结束位置          
scripts]# seq 2 2 10     #打印偶数                                         
seq 5 10       #打印5到10
seq -w 10      #等宽显示

4.while循环

while循环是不定循环,也称作条件循环只要条件判断成立,循环就会一直继续直到条件判断式不成立,循环才会停止。这和for的固定循环不太一样。

应用场景:while循环语句主要用来重复执行一组命令或语句,在企业实际应用中,常用于守护进程或持续运行的程序

while  [  条件判断式  ]
do
   程序
done  

5.until循环

until循环,和while循环相反,until循环时只要条件判断式不成立则进行循环,并执行循环程序。一旦循环条件成立,则终止循环。

until   [条件判断式]
do
     程序
done

6.select循环

select 变量名 in 菜单取值列表 
do
    程序
done

select 循环主要用于创建菜单,按数字顺序排列的菜单项将显示在标准错误上,并显示PS3 提示符,等待用户输入
用户输入菜单列表中的某个数字,执行相应的命令。
用户输入被保存在内置变量REPLY 中。
select 是个无限循环,因此要记住用break 命令退出循环,或用exit 命令终止脚本。也可以按ctrl+c 退出循环。
select 经常和case 联合使用。
与for 循环类似,可以省略in list ,此时使用位置参量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东城绝神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值