顺序执行
选择执行: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
变量引用:如$@,$*
3、while循环:
格式:
while CONDITION;do
循环体
循环控制变量修正表达式
done
注释:CONDITION为条件表达式
4、while条件介绍:
进入条件:CONDITION测试条件为真时进入循环
退出条件:CONDITION测试条件为假时退出循环
while循环示例:
求100以内所有正整数之和
方法一:
[root@localhost ~]# cat sum_100
#!/bin/bash
sum=0
for i in {1..100};do
sum=$[$sum+$i]
done
echo $sum
[root@localhost ~]#
方法二:
[root@localhost ~]# 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
[root@localhost ~]#
注意:for是列表循环,如果求1到10000的所有正整数之和,那么会在内存空间为这10000个数分别分配内存空间用来存储数据,这样是对内存的一种浪费,基于这种考虑,while可能比for循环性能更好些,因为while循环只有一个变量用来存储数据。
5、until循环:
格式:
until CONDITION;do
循环体
循环控制变量修正表达式
done
6、until循环条件:
进入条件:CONDITION测试条件为假时,进入循环
退出条件:CONDITION测试条件为真时,退出循环
示例:
until循环示例:
求100以内所有正整数之和
[root@localhost ~]# 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
[root@localhost ~]# bash until_sum_100
5050
注意:#bash -x until_sum_100 //检查脚本执行过程,-x为调试模式
练习:
1、求100以内所有偶数之和
2、求100以内所有奇数之和
3、创建10个用户,user101-user110,密码同用户名
4、打印九九乘法表
5、打印逆序额九九乘法表
原文地址:http://blog.51cto.com/10631377/2054544