Shell中的while循环几种使用实例详解

时间:2021-05-23

1.利用while循环计算1到100的和:

示例代码1:

#!/bin/bashi=1sum=0while [ $i -le 100 ]do let sum=sum+$i let i++doneecho $sum

示例代码2:利用while循环计算1到100之间所有奇数之和

#!/bin/bashi=1sum=0while [ $i -le 100 ]do let sum=sum+$i let i+=2doneecho $sum

示例代码3:利用while循环计算1到100之间所有偶数之和

#!/bin/bashi=2sum=0while [ $i -le 100 ]do let sum=sum+$i let i+=2doneecho $sum

2.利用while循环打印**

示例代码:利用while循环打印一个5x5的*

#!/bin/bashi=1j=1while [ $i -le 5 ]do while [ $j -le 5 ] do echo -n "* " let j++ done echo let i++ let j=1done

3.使用read结合while循环读取文本文件:

示例代码1:

#!/bin/bashfile=$1 #将位置参数1的文件名复制给fileif [ $# -lt 1 ];then #判断用户是否输入了位置参数 echo "Usage:$0 filepath" exitfiwhile read -r line #从file文件中读取文件内容赋值给line(使用参数r会屏蔽文本中的特殊符号,只做输出不做转译)do echo $line #输出文件内容done < $file

示例2:按列读取文件内容

#!/bin/bashfile=$1if [[ $# -lt 1 ]]then echo "Usage: $0 please enter you filepath" exitfiwhile read -r f1 f2 f3 #将文件内容分为三列do echo "file 1:$f1 ===> file 2:$f2 ===> file 3:$f3" #按列输出文件内容done < "$file"

4.while循环中的死循环:

示例:利用死循环,让用户做选择,根据客户的选择打印相应结果

#!/bin/bash#打印菜单while :do echo "********************" echo " menu " echo "1.tima and date" echo "2.system info" echo "3.uesrs are doing" echo "4.exit" echo "********************" read -p "enter you choice [1-4]:" choice#根据客户的选择做相应的操作 case $choice in 1) echo "today is `date +%Y-%m-%d`" echo "time is `date +%H:%M:%S`" read -p "press [enter] key to continue..." Key #暂停循环,提示客户按enter键继续 ;; 2) uname -r read -p "press [enter] key to continue..." Key ;; 3) w read -p "press [enter] key to continue..." Key ;; 4) echo "Bye!" exit 0 ;; *) echo "error" read -p "press [enter] key to continue..." Key ;; esacdone

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章