shell 编程for循环总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 编程for循环总结相关的知识,希望对你有一定的参考价值。
shell编程for循环总结
在shell编程中,循环的执行是将某代码段重复运行多次,常用循环有for、while和until循环,其中for循环经常用于有限次循环,for循环的语法结构有如下两种:
第一种:shell传统for循环语法结构
for 变量名 in 变量取值列表;do 指令… done 其中取值列表通常又有5种方式: (1)直接给出列表,列表中间用空格隔开 [[email protected] ~]#for i in 1 3 5;do echo $i;done 1 3 5 (2)整数列表 (a) {start..end} [[email protected] ~]#for i in {1..5..2};do echo $i;done 1 3 5 (b)$(seq start step end) [[email protected] ~]#for i in $(seq 1 2 5);do echo $i;done 1 3 5 (3)返回命令列表 [[email protected] ~]#mkdir test [[email protected] ~]#cd test/ [[email protected] ~/test]#touch 1.sh [[email protected] ~/test]#touch 3.sh [[email protected] ~/test]#touch 5.sh [[email protected] ~/test]#for i in $(ls);do echo $i;done 1.sh 3.sh 5.sh (4)使用glob,如:*.sh [[email protected] ~/test]#for i in *\.sh; do echo $i;done #选择当前目录下满足*.sh 1.sh 3.sh 5.sh (5)使用变量引用如[email protected],$* [[email protected] ~/test]#vim 1 [[email protected] ~/test]#chmod +x 1 1 #!/bin/bash 2 for i in [email protected];do 3 rm -rf $i 4 done [[email protected] ~/test]#./1 1.sh 3.sh 5.sh [[email protected] ~/test]#ls 1 #验证1.sh 3.sh 5.sh已经删除 |
第二种结构体:C语言型结构体
for ((exp1; exp2; exp3)) do 指令 done [[email protected] ~/test]#for ((i=1; i<=5; i=i+2));do echo $i;done 1 #注意:a=a++ 和 a=a+2的区别,a=a+2是表达式,=号的优先级较低,因此先+后赋值 3 5 |
基础案例分析:
1.打印99乘方口诀,
[[email protected] ~/scripts]#vim sufakoujue.sh |
2.判断当前目录下所有文件的类型
[[email protected]~/test]#vim panduan.sh |
3.计算1+2+3+4+...+n之和,其中n由用户自己输入
[r[email protected]~/test]#vim sum.sh |
4.计算100之内能被3整除的整数之和
[[email protected]~/test]#vim 3sum.sh |
5.判断局域网192.168.1.0的网段主机存活状态
[[email protected] ~/test]#vim hostping.sh |
6.打印等腰三角形
[[email protected] ~/test]vim dengyao.sh read -p "please input a inter: " a for i in $(seq$a);do let j=$a-$i+1 let k=2*$i-1 #++++++++打印每行等腰三角的空白字符+++++ for l in $(seq $j);do echo -n " " done #++++++++打印等腰三角形的构成图形+++++++ for n in $(seq $k);do echo -n "" done #++++++++每一行结束后进行换行+++++++++++ echo done [[email protected] ~/test]./dengyao.sh |
********具体详情请咨询微信:QQ767743577 邮箱地址: [email protected],有问必答,有答必应,人人为我,我为人人******* |
本文出自 “11831715” 博客,请务必保留此出处http://11841715.blog.51cto.com/11831715/1958918
以上是关于shell 编程for循环总结的主要内容,如果未能解决你的问题,请参考以下文章