一、这节课掌握如下几个知识点
【1】掌握for的写法及使用场景
【2】掌握while do的写法及使用场景
【3】掌握continue/break的用法
二、通过代码讲解
该部分主要通过不同的循环写法来应对不同的使用场景。
#!/bin/bash
#4.sh v1
#create by maoge
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
export LANG=zh_CN.UTF-8
export PATH
#用法一、定义一个数组变量,然后循环输出数组中的元素
echo "============用法1===="
ValsArry="one two three four five six"
for number in $ValsArry
do
echo $number
done
#用法二、定义一个数字范围,循环输出数字
echo "============用法2===="
for ((i=0;i<=10;i=i+1))
do
echo $i
done
#用法三、通过读取文件中的内容,循环输出文件中的第一列和第二列,并见第一列传递成变量ip,第二列传递成变量name
echo "============用法3===="
cat 4.example.txt|while read ip name
do
total=$[total+1]
echo "$ip $name"
done
echo "all:$total"
#用法四、和用法三相似,只不过传递文件的方式不一样。
echo "============用法4===="
while read ip name
do
total=$[total+1]
echo "$ip $name"
done < 4.example.txt
echo "all:$total"
#用法五、该用法默认是永久循环、直到满足条件后退出循环。total是每次循环累加1。
echo "============用法5===="
while true
do
total=$[total+1]
echo $total
if [ $total -gt 10 ];then
break
fi
done
#用法六 在数字循环内,对循环的变量i做取模判断,等于2时就继续下一次循环。
echo "============用法6 continue===="
for ((i=0;i<=10;i=i+1))
do
if (( $i % 2 == 0))
then
continue
fi
echo $i
done
注:脚本中的4.example.txt内入如下:
附件:4.example.txt
192.168.1.1 server-1
192.168.1.2 server-2
192.168.1.3 server-3
192.168.1.4 server-4
192.168.1.5 server-5