while 条件; do 动作; done | until 条件; do 动作; done |
这个语句用得很少 | |
语句解释--until这个语法比较特殊,所以不能仅从字面上去解释 |
当 条件为真时 做 动作 语句结束 | 当 条件为假时 做 动作 语句结束 |
read num | |
while [ $num -eq 10 ] do echo "$?" echo "刷屏中..." done | untile [ $num -eq 10 ] do echo "$?" echo "刷屏中..." done |
当输入的字符=10 做 显示上一个命令的退出状态值 显示刷屏中 完毕 | 当输入的字符=10 不做 显示上一个命令的退出状态值 显示刷屏中 完毕 |
当输入的字符与10比较 比较后系统返回一个退出值,当退出值=0的时候 做 显示上一个命令的退出状态值 显示刷屏中 完毕 | 当输入的字符与10比较 比较后系统返回一个退出值,当退出值=1的时候 做 显示上一个命令的退出状态值 显示刷屏中 完毕 |
while 条件为真时 做 一直无限循环动作 | until 条件为假时 做 一直无限循环动作 |
a="1 2 3 4 5" for f in a ; do echo $f ; done | for f in 1 2 3 4 5; do echo $f; done | for ((a=1;a<100;a++)); do echo $a; done |
定义一个变量a 使它的值为1 2 3 4 5 赋予一个变量f 使他的值依次为变量a里的每个值 做 显示变量f的值 完毕 | 定义一个变量f,赋予他值依次为1 2 3 4 5 做 显示变量f的值 完毕 | 定义一个变量a,初始值为1,变量a小于100,变量a依次递增 做 显示变量a的值 完毕 |
for 变量 in 列表 do 语句 done | for ((变量=初始值; 条件判断; 变量变化)) do 语句 done |
a=0 for((i=1;i<=100;i++)) do a=$((i+a)) done echo $a | echo a b c d e | awk '{for(i=1;i<NF;i++) print $i}' |
这是一个比较经典的栗子,有的运维笔试题会考到 这里就是计算从1+2+3+...+100的值 | 这个命令就不解释了,只有会awk的人才知道是什么意思(其实我也不知道什么意思^_^) |
while 循环语句 (一般用在无限循环里面)
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |