循环语句简述
凡是重复执行一段代码, 都可以称之为循环。 循环体中三种专业的话术:遍历、迭代、递归 。
遍历(traversal) - 按规则访问非线性结构中的每一项。
迭代(iterate) - 按顺序访问线性结构中的每一项。
递归(recursion) - 在函数内调用自身, 将复杂情况逐步转化成基本情况。
通常有进入循环的条件和退出循环的条件。
循环次数分为两种:
循环次数事先已知
循环次数事先未知
常见的循环命令:for, while, until
列表循环
#结构#
for i in 循环次数
#i可以替换成任意,标准格式是i
do
command #循环动作
done
#结束循环
求1-100的和
#!/bin/bash
sum=0
for i in `seq 100`
do
sum=$[i + sum]
done
echo "sum:$sum"
{ }和seq的用法
{1..100..2} #1-100中的所有奇数
{2..100..2} #1-100中的所有偶数
seq 100 #1-100
seq 1 2 100 #1-100中的所有奇数
seq 0 2 100 #1-100中的所有偶数
不带列表循环
#基本格式#
for 变量名
#不指定变量范围
do
command
done
#!/bin/bash
for i
do
echo "hello"
done
求出1-100中所有奇数的和
for i in `seq 1 100`
do
let sum+=$i
done
echo "sum:$sum"
九九乘法表
#!/bin/bash
for j in {1..9}
do
for i in `seq $j`
do
echo -e "${i}*${j}=`echo $[i*j]`\t\c"
done
echo
done
批量改文件后缀名
#!/bin/bash
vim user.txt #在此文件添加用户
vim user.sh #脚本
#!/bin/bash
for i in `cat ./user.txt`
do
echo 123132 | passwd $i --stdin
done