文章目录
一、 for循环语句
当遇到某个任务需要多次执行,而每次执行处理只是对象不一样,其他命令都相同,当面对任务重复任务时,简单的if语句难以满足要求,for循环语句就可以很好的解决这个问题。
2.1 for语句的结构
for循环语句需要指定一个变量及可能的取值列表,针对每一个不同的取值重复执行相同的命令序列,直到变量值用完退出循环,这个过程也叫做“遍历”。
这里的取值列表称为for语句的执行条件,需要提前指定。
for循环语句的语法结构:
语句结构
for 变量名 in 取值列表
do
命令序列
done
取值列表中多个变量以空格进行分隔。
2.1.1 shell中let命令
let 对整数进行数学运算,和双小括号 (( )) 一样,let 命令也只能进行整数运算,不能对小数(浮点数)或者字符串进行运算。
let 命令用法
let 表达式
当表达式中含有 Shell 特殊字符(例如 |)时,需要用双引号或者单引号将表达式包围起来。和 (( )) 类似,let 命令也支持一次性计算多个表达式,并且以最后一个表达式的值作为整个 let 命令的执行结果。
2.2 for语句示例
九九乘法表
#!/bin/bash
for i in 1 2 3 4 5 6 7 8 9
do
for j in 1 2 3 4 5 6 7 8 9
do
if [ $i -ge $j ]
then
echo -ne "$i*$j=$[$i*$j]\t " //echo -e表示支持反斜线控制的字符转换;echo -n表示输出结果后不换行;\t表示制表符,让形式看起来更美观
fi
done
echo ""
done
[root@localhost ~]# sh 99.sh
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*