下面用几个实例来理解下while循环怎么去用。
1、while创建定时任务
#!/bin/bashwhile true do uptime sleep 0.6done
结果:
2、打算1-100的和
--bc命令实现

echo `seq -s + 1 100`|bc
--while循环
#!/bin/bashi=1while [ \"大众$i\"大众 -le 100 ] do ((b=b+i)) ((i++))doneecho $b
3、手机通讯计费功能#!/bin/bashsum=1000i=15while [ $sum -ge 15 ] docat<<EOF=================1.发短信2.查余额3.账户充值4.退出=================EOF read -p \"大众你要做什么呢?\"大众 Some case \公众$Some\"大众 in 1) sum=$((sum-i)) read -p \"大众请输入发送短信的内容:\"大众 read -p \公众请输入收信人:\公众 sleep 0.3 echo \"大众发送成功.\公众 echo \"大众您当前余额为$sum\公众 ;; 2) echo \"大众您当前余额为$sum\"大众 ;; 3) read -p \公众请输入你要充值的金额:\公众 ChongZhi sum=$((sum+ChongZhi)) echo \"大众充值成功,当前余额为$sum\"大众 ;; 4) exit ;; ) echo \"大众输入有误!
\"大众 exit 2 esacdoneecho \"大众余额不敷,请及时充值!
\"大众
4.1 迭代获取文件中的每一行
--方法一while read line; do echo $line;done < file.txt--方法二cat file.txt|while read line doecho $linedone--方法三exec < file.txtwhile read line; do echo line;done
4.2 迭代获取每一个单词
for word in $line; do echo $word;done
4.3 迭代获取每一个字符
word=participatefor ((i=0;i<${#word};i++)) do echo ${word:1:1};done
4.4 同时获取取文件中的行,单词和字符脚本
#!/bin/bashn=1while read i do echo \"大众第${n}行 $i\"大众 m=1 for x in $i do echo \"大众第${m}个单词 $x\"大众 echo $x|grep -o . ((m++)) done ((n++))done < $1
大家有空也可以自己测试一下,以为有用的朋友多帮忙转发哦!
后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~