一、for循环语句
for循环语句结构
(1)for循环有三种结构:
第一种是列表for循环。
第二种是不带列表for循环。
第三种是类C风格的for循环。
for 变量名 in 取值列表
do
命令序列
done
do和done之间的命令称为循环体,执行次数和list列表中常数或字符串的个数相同。for循环,首先将in后list列表的第一个常数或字符串赋值给循环变量,然后执行循环体,以此执行list,最后执行done命令后的命令序列。
for ( (expr1;expr2;expr3))
do
command
done
expr1:定义变量并赋初值
expr2:决定是否循环
expr3:决定循环变量如何改变,决定循环什么时候退出
它的运行过程为:
1)先执行exp1。
2)再执行exp2,如果它的判断结果是成立的,则执行循环体中的语句,否则结束整个for循环。
3)执行完循环体后再执行exp3。
4)重复执行步骤2)和3),直到exp2的判断结果不成立,就结束循环。
上面的步骤中,2)和3)合并在一起算作一次循环,会重复执行,for语句的主要作用就是不断执行步骤2}和3)
例:
打印1-3
#!/bin/bash
#for i in {
1..3}
#do
# echo $i
#done
#for i in `seq 3`
#do
# echo $i
#done
for i in a b c
do
echo 1 2 3
done
#!/bin/bash
for ((i=1;i<=3;i++))
do
echo $i
done
注意:
i+=1和i=i++
i++ : i=1+1 先赋值再运算 i=1 之后再 +1
++i : 1+1=i 先运算再赋值 1+1 之后再 =i
打印0-8以内的偶数
#!/bin/bash
for i in {
0..8..2}
do
echo $i
done
计算0-8 以内的偶数和
#!/bin/bash
sum=0
for i in {
0..8..2}
do
sum=$[sum+i]
let i++
done
echo "8以内的偶数和:$sum"
将0-8倒序排列
#!/bin/bash
for i in {
8..0}
do
echo $i
done
批量创建用户
#!/bin/bash
for i in {
1..5}或`seq 5`
do
useradd xlm$i
echo "123456"