1,while语句
语法:while commands; do commands; done
像if一样,while计算a list of commands的exit status,只要commands的exit status是0,他就执行do语句。
break, continue语句用户流程控制。
2,until语句
until [[ "$count" -gt 5 ]]; do
echo "$count"
count=$((count + 1))
done
语法跟while类似,不一样的是,until一直循环,直到他的条件语句exit with 0。
3,举例
1,while循环与输入重定向
#!/bin/bash
# while-read: read lines from a file
while read distro version release; do
printf "Distro: %s\tVersion: %s\tReleased: %s\n" \
"$distro" \
"$version" \
"$release"
done < distros.txt
2,while循环与管道标准输入
#!/bin/bash
# while-read2: read lines from a file
sort -k 1,1 -k 2n distros.txt | while read distro version release; do
printf "Distro: %s\tVersion: %s\tReleased: %s\n" \
"$distro" \
"$version" \
"$release"
done