12.3bash脚本循环语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了12.3bash脚本循环语句相关的知识,希望对你有一定的参考价值。

1、bash脚本程序执行顺序:

    顺序执行

    选择执行:if、case

    循环执行:for、while、until


2、for循环:

 格式:

for VAR in list;do

  循环体

done


注释:VAR是变量,list是循环列表;

list的生成方式:

    直接给出     //如:1 2 3 4

    {start..end}  //注意是两个点,内建列表方式

    seq [start [increment]] last

        seq 10

        seq 5 10

        seq 2 2 10   //步长为2的整数列表

    返回命令的列表

    glob

    变量引用:如[email protected],$*


3、while循环:

  格式:

while CONDITION;do

    循环体

    循环控制变量修正表达式

done


注释:CONDITION为条件表达式


4、while条件介绍:

    进入条件:CONDITION测试条件为真时进入循环

    退出条件:CONDITION测试条件为假时退出循环


while循环示例:

求100以内所有正整数之和

方法一:

[[email protected] ~]# cat sum_100 

#!/bin/bash

sum=0

for i in {1..100};do

sum=$[$sum+$i]

done

echo $sum

[[email protected] ~]# 


方法二:

[[email protected] ~]# cat while_sum_100

#!/bin/bash

declare sum=0

declare i=1

while [ $i -le 100 ];do

sum=$[$sum+$i]

let i++

done

echo $sum

[[email protected] ~]# 


注意:for是列表循环,如果求1到10000的所有正整数之和,那么会在内存空间为这10000个数分别分配内存空间用来存储数据,这样是对内存的一种浪费,基于这种考虑,while可能比for循环性能更好些,因为while循环只有一个变量用来存储数据。



5、until循环:

格式:

until CONDITION;do

    循环体

    循环控制变量修正表达式

done


6、until循环条件:

    进入条件:CONDITION测试条件为假时,进入循环

    退出条件:CONDITION测试条件为真时,退出循环


示例:

until循环示例:

求100以内所有正整数之和

[[email protected] ~]# cat until_sum_100

#!/bin/bash

declare -x sum=0

declare -x i=1

until [ $i -gt 100 ];do

sum=$[$sum+$i]

let i++

done

echo $sum

[[email protected] ~]# bash until_sum_100 

5050


注意:#bash -x until_sum_100 //检查脚本执行过程,-x为调试模式




练习:

1、求100以内所有偶数之和


2、求100以内所有奇数之和

3、创建10个用户,user101-user110,密码同用户名

4、打印九九乘法表

5、打印逆序额九九乘法表



















以上是关于12.3bash脚本循环语句的主要内容,如果未能解决你的问题,请参考以下文章

如果语句过早退出Bash脚本循环

玩转Bash脚本:循环结构之while循环(转)

循环语句和函数

bash循环语句

bash脚本之case语句应用,whileuntil和select循环应用及其示例

for in循环语句批量重命名的问题;bash