仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 948|回复: 8
打印 上一主题 下一主题

[shell编程] 带来一篇shell中for轮回的总结

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:22:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!关于shell中的for轮回用法良多,一向想总结一下,明天网上看到上一篇关于for轮回用法的总结,感到很周全,以是就转过去研讨研讨,嘿嘿...
1、for((i=1;i<=10;i++));doecho$(expr$i*4);done
2、在shell中经常使用的是foriin$(seq10)
3、foriin`ls`
4、foriin${arr[@]}
5、foriin$*;do
6、forFilein/proc/sys/net/ipv4/confaccept_redirects:
18.forFilein/proc/sys/net/ipv4/conf/*/accept_redirects;do
19.echo$File
20.done
21.echo"间接指定轮回内容"
22.foriinf1f2f3;do
23.echo$i
24.done
25.echo
26.echo"C语法for轮回:"
27.for((i=0;i<10;i++));do
28.echo$i
29.done

---------------------------------------------------------------------------------------------------------
shell中for轮回用法
shell语法好贫苦的,一个轮回都弄了一会,找了几个分歧的***来完成输入1-100间能够被3整除的数
1.用(())
#!/bin/bash
clear
for((i=1;i<100;i++))
for
do
if((i%3==0))
then
echo$i
continue
fi
done
2.利用`seq100`
#!/bin/bash
clear
foriin`seq100`
do
if((i%3==0))
then
echo$i
continue
fi
done
3.利用while
#!/bin/bash
clear
i=1
while(($i<100))
do
if(($i%3==0))
then
echo$i
fi
i=$(($i+1))
done


--------------------------------------------------------------------------------------------------------
在shell用for轮回做数字递增的时分发明成绩,特列出shell下for轮回的几种***:
1.
foriin`seq11000000`;do
echo$i
done
用seq110000000做递增,之前用这类***的时分没碰到成绩,由于之前的i基本就没用到百万(1000000),由于项目必要我这个数字宏大于百万,发明用seq数值到1000000时转换为1e+06,基本没法作为数字举行其他运算,大概将$i无效、准确的取用,遂求其他***办理,以下
2.
for((i=1;i<10000000;i++));do
echo$i
done
3.
i=1
while(($i<10000000));do
echo$i
i=`expr$i+1`
done
由于本***挪用expr故运转速率会比第1,第2种慢很多不外可稍作改善,将i=`expr$i+1`改成i=$(($i+1))便可稍作速率的提拔,不外详细得看响应shell情况是不是撑持
4.
foriin{1..10000000;do
echo$i
done
实在选用哪一种***详细仍是得由响应的shell情况的撑持,到达预期的效果,再思索速率方面的成绩。
示例:
#!/bin/sh
i=1
functiontest_while(){
i=1
while[$i]
do
echo$i
i=`expr$i+1`
if[$i-ge10];then
break
fi
done
}
functiontest_for(){
i=1
for((i=1;i<=100;i++));do
echo$i
if[$i-ge10];then
break
fi
done
}
functiontest_continue(){
i=1
foriin$(seq100);do
if((i==0));then
echo$i
continue
fi
done
}
echo"test_while..."
test_while
echo"test_for..."
test_for
echo"test_continue..."
test_continue
运转了局:
test_while...
1
2
3
4
5
6
7
8
9
test_for...
1
2
3
4
5
6
7
8
9
10
test_continue...
10
20
30
40
50
60
70
80
90
100如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!
透明 该用户已被删除
沙发
发表于 2015-1-16 14:43:43 | 只看该作者

带来一篇shell中for轮回的总结

眼看这个学期的Linux课程已经告一段落了,我觉得有必要写一遍心得体会来总结一下这学期对着门课程的学习。
兰色精灵 该用户已被删除
板凳
发表于 2015-1-25 21:00:58 | 只看该作者
可以说自己收获很大,基本上完成了老师布置的任务,对于拔高的题目没有去做,因为我了解我的水平,没有时间和精力去做。?
简单生活 该用户已被删除
地板
发表于 2015-2-4 13:15:30 | 只看该作者
其实当你安装了一个完整的Linux系统后其中已经包含了一个强大的帮助,只是可能你还没有发现和使用它们的技巧。
蒙在股里 该用户已被删除
5#
发表于 2015-2-9 23:33:48 | 只看该作者
熟悉并掌握安装Linux,安装是学习的前提。目前较常见的安装方法有二种:
第二个灵魂 该用户已被删除
6#
发表于 2015-2-28 10:30:41 | 只看该作者
这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。
小妖女 该用户已被删除
7#
发表于 2015-3-9 23:52:48 | 只看该作者
即便是非英语国家的人发布技术文档,Linux也都首先翻译成英语在国际学术杂志和网络上发表。
莫相离 该用户已被删除
8#
发表于 2015-3-17 07:11:14 | 只看该作者
掌握在Linux系统中安装软件,在安装Linux工具盘后大致日常所需的软件都会有,一般网络提供下载的软件都会有安装说明。
谁可相欹 该用户已被删除
9#
发表于 2015-3-24 04:01:40 | 只看该作者
另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-4-28 22:29

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表