武汉抖音seo推广网站关键词排名seo
Shell中的while用法
基本格式
while conditiondocommand1command2command3done
while循环的执行流程为:先对condition进行判断,如果该条件成立,就进入循环,执行while循环体中的语句这样就完成了一次循环每次执行到done的时候都会重新判断condition是否成立,如果成立就进入下一次循环,继续执行do和done之间的语句如果不成立就结束整个while循环执行done后面的其他shell代码如果一开始condition就不成立,那么程序就不会进入循环体,do和done之间的语句就没有执行的机会注意在while循环体中必须有相应的语句使的condition越来越趋近于不成立只有这样才能最终退出循环,否则while就成为了死循环,会一直执行下去While语句好if else语句中到的condition用法都是一样的,你可以使用test或[]命令,也可以使用(())或[[]][root@localhost while]# cat 01.sh#!/bin/bash#计算1-100的和i = 1sum=0while (( i <=100))do((sum+=i))((i++))doneecho “This sum is:$sum”[root@localhost while]# sh 01.shThis sum is:5050[root@localhost while]# cat 02.sh#!/bin/bash#计算加到m到n的值read mread nsum=0while (( m<=n))do((sum+=m))((m++))doneecho “This sum is:$sum”[root@localhost while]# sh 02.sh46This sum is:15练习:实现一个简单的加法计算器,用户每行输入一个字计算所有数字的和(请输入您要计算的数字,按住Ctrl+D组合键结束读取)#!/bin/bashsum=0echo “请输入数字,按住Ctrl+D组合键结束读取”do((sum+=n))doneecho “This sum is:$sum”#在终端读取数据可以 等于在文件中读取数据,按住Ctrl+d组合键表示读取到文件流的末尾此时read就会读取失败,得到一个非0的退出状态,从而导致判断条件不成立结束循环