第一篇:Shell 循环语句用法小结
在写shell脚本时,常常会用到循环语句。这里简单总结下常用的3种循环语句,以便以后能快速地参考写出,废话不说,开始demo:
1、for
主要用于:在以知序列里遍历元素
[plain] view plaincopy #!/bin/sh
for i in `seq 1 9` do echo $i done注意:for in 可以和 `` 与 $()合用
再给一个for的用法示例:
[plain] view plaincopy #!/bin/sh
for((i=1; i<=10; i++))
do echo $i done提醒:这个主要是用了(())
2、while
主要用于:当某条件成立时,一直执行
[plain] view plaincopy #!/bin/shcnt=9 until [ $cnt-lt 0 ] do echo $cnt cnt=$((cnt-1))done 注意:给变量赋值时,前面不要加$
第二篇:VB循环语句的用法
1.While...Wend 语句
只要指定的条件为 True,则会重复执行一系列的语句。语法
While condition [statements]..Wend 2.Do...Loop 2.1 第一种用法
用 Do 循环重复执行一语句块,且重复次数不定。Do...Loop 语句有几种演变形式,但每种都计算数值条件以决定是否继续执行。如同 If...Then condition 必须是一个数值或者值为 True(非零)或 False(零)的表达式。
在下面的 Do...Loop 循环中,只要 condition 为 True 就执行 statements。
Do While condition statements..Loop 2.2 第二种用法
Do...Loop 语句的另一种演变形式是先执行语句,然后在每次执行后测试 condition。这种形式保证 statements 至少执行一次:
Do statements Loop While condition 注:其它两种演变形式类似于前两个,所不同的是,只要 condition 为 False 而不是 True,它们就执行循环。循环零次或多次
Do Until condition statements Loop
至少循环一次
Do statements Loop Until condition 3.For...Next 在不知道循环内需要执行多少次语句时,宜用 Do 循环。但是,在知道要执行多少次时,则最好使用 For...Next 循环。与 Do 循环不同,For 循环使用一个叫做计数器的变量,每重复一次循环之后,计数器变量的值就会增加或者减少。For 循环的语法如下:
For counter = start To end [Step increment] statements Next [counter] 参数 Counter、Start、end 和 increment 都是数值型的。
注意 increment 参数可正可负。如果 increment 为正,则 Start 必须小于等于 end,否则不能执行循环内的语句。如果 increment 为负,则 Start 必须大于等于 end,这样才能执行循环体。如果没有设置 Step,则 increment 缺省值为 1。实例:
以下代码打印出所有有效的屏幕字体名:
Private Sub Form_Click()Dim I As Integer For i = 0 To Screen.FontCount
Print Screen.Fonts(i)Next End Sub 4.For Each...Next For Each...Next 循环与 For...Next 循环类似,但它对数组或对象集合中的每一个元素重复一组语句,而不是重复语句一定的次数。如果不知道一个集合有多少元素,For Each...Next 循环非常有用。
For Each...Next 循环的语法如下:
For Each element In group statements Next elementt 例如,下面的子过程打开 Biblio.mdb,把每一个表的名字加到列表框中。
Sub ListTableDefs()Dim objDb As Database
Dim MyTableDef as TableDef Set objDb = OpenDatabase(“c:vbbiblio.mdb”, _ True, False)For Each MyTableDef In objDb.TableDefs()
List1.AddItem MyTableDef.Name Next MyTableDef End Sub 请记住使用 For Each...Next 时的几点限制:
对集合,element 只能是 Variant 变量,或一般的 Object 变量,或“对象浏览器”中列出的对象。
对数组,element 只能是 Variant 变量。
For Each...Next 不能与用户自定义类型的数组一起使用,因为 Variant 不可能包含用户自定义类型。
第三篇:Shell命令文本操作命令小结
Shell命令文件操作命令小结
显示文本文档中某几行: 显示第n行: sed-n 'np' test.txt 或 head-n test.txt |tail-1 显示第m到第n行: sed-n 'm,np' test.txt 或 head-n test.txt | tail-(n-m)显示某一文件夹folder/下所占存储空间: du-sh folder/
删除某文件夹下的特定文件: 例:删除某文件加下的软连接文件 rm-f `ls-l|grep ^l|awk `{print $8}` 返回上次进入的目录:cd-删除一个文本文档中所有内容: 切换到命令行模式 :1,$d
使用rm删除一个目录下的除了ttt以外的所有文件 解决:
1.ls | grep-v ttt | xargsrm {} 2.ls | grep-v ttt | xargsrm 3.mvttt /tmp/ &&rm-rf * && mv /tmp/ttt./ 4.find.-name e-prune-o-print | xargsrm-rf 5.find.-name e-prune-o-name dir-prune-o-print | xargsrm-rf {} 6.删除目录下的除去ttt和目录外所有文件 d=/tjy/ fori in `ls $d`;do if [ $i!= “ttt” ];then
j=`file $d$i | awk '{print $2}'` if [ $j!= “directory” ];then rm-rf $d$i fi fi done
利用shell命令分割文件: 系统运维的过程中,日志文件往往非常大,这样就要求对日志文件进行分割,在此特用shell脚本对文件进行分割 方法一: #!/bin/bash
linenum=`wc-l httperr8007.log| awk '{print $1}'` n1=1 file=1
while [ $n1-lt $linenum ] do n2=`expr $n1 + 999`
sed-n “${n1}, ${n2}p” httperr8007.log > file_$file.log n1=`expr $n2 + 1` file=`expr $file + 1` done 其中httperr8007.log为你想分割的大文件,file_$file.log 为分割后的文件,最后为file_1.log,file_2.log,file_3.log……,分割完后的每个文件只有1000行(参数可以自己设置)方法二: split 参数:
-b :后面可接欲分割成的档案大小,可加单位,例如 b, k, m 等;-l :以行数来进行分割; #按每个文件1000行来分割除 split-l 1000 httperr8007.log httperr httpaa,httpab,httpac........#按照每个文件100K来分割 split-b 100k httperr8007.log http httpaa,httpab,httpac........使用alias来自定义命令
还有一个使工作变得轻松的方法是使用命令别名。命令别名通常是其他命令的缩写,用来减少键盘输入。命令格式为: alias [alias-name=’original-command’]
其中,alias-name是用户给命令取的别名,original-command是原来的命令和参数。需要注意的是,由于Bash是以空格或者回车来识别原来的命令的,所以如果不使用引号就可能导致Bash只截取第一个字,从而出现错误。如果alias命令后面不使用任何参数,则显示当前正在使用的被别名化的命令及其别名。为命令取的别名在该次登录期间始终有效。如果用户需要别名在每次登录时都有效,那么就将alias命令写到初始化脚本文件中。
这是一些很多人认为有用的别名,可以把它们写入初始化脚本文件中来提高工作效率: alias ll=’ls –l’ alias log=’logout’ alias ls=’ls –F’
如果您是一名DOS用户并且习惯了DOS命令,可以用下面的别名定义使 Linux表现得象DOS一样: aliasdir=’ls’ alias copy=’cp’ alias rename=’mv’ alias md=’mkdir’ alias rd=’rmdir’
注意:在定义别名时,等号两边不能有空格,否则shell不能决定您需要做什么。仅在命令中包含空格或特殊字符时才需要引号。如果键入不带任何参数的alias命令,将显示所有已定义的别名。
第四篇:for循环语句说课稿
《FOR循环语句》说课稿
尊敬的各位评审:
今天我说课的内容是高等教育出版社《编程语言基础——C语言》中的第四章第三节《For循环语句》。本节教学内容用1课时完成,教学地点在多媒体教室,现我就教材、教法、学法及教学程序等方面进行说明。
课程地位:
C语言是计算机专业的必修课,从最近5年的高考情况来看,它是高考的重点学科。C语言具有三大语言结构,其中循环结构是最重要的,而循环语句中For循环语句更为重要,计算机专业高考技能加试For循环是必考内容。
说学情:
中专学生的特点是,不爱学习理论知识,觉得枯燥乏味,注意力难以集中,但是他们喜欢新鲜的事物。根据这个特点,可以使用课件来抓住学生的注意力,提高他们的学习兴趣。
多媒体设计意图:
根据上述学情,课件除了作为上课的辅助工具,让学生更好的理解当堂知识,还要能够使课堂变得轻松、活泼,调动起学生的兴趣。由于编程很难融入视频和音频,所以在制作工具软件上,我选择的是Flash,通过动画来吸引学生的注意力,从风格上看,整体选用有朝气的绿色作为背景,使课堂气氛变得轻松。
教学目标:
⒈知识目标:掌握For循环的基本结构,掌握For循环的执行过程。⒉能力目标:能够根据题意选择适合的循环语句,会编写简单的程序。⒊情感目标:激发学生学习兴趣,让学生感受编程的乐趣。教学重点:
掌握For循环语句的基本结构 掌握For循环语句的执行过程 利用循环变量控制循环次数 教学难点:
利用For循环解决实际问题,编写简单的程序。教学方法:
本节课使用到的教法有:任务驱动,分组教学,讲练结合。学习方法:
教会学生“如何思考,怎样学习”,指导学生用发现的方法开展学习活动,力求将老师的讲授变为启发、引导,把学生的被动接受,变为主动探索,以教师
为主导,学生为主体,让学生更好的参与到课堂活动中。
教学内容: 导入部分:
利用两道递进题目引入循环情景,启动任务机制,通过一道题引发学生的学习兴趣,并把这道题作为本节课的任务。
新课内容: 语法格式:
通过课件和板书双重展示,课件针对语法中的每一部分进行说明,在黑板上对格式的注意事项进行强调,达到突出重要性的目的,让学生有一个规范性的记忆。
执行过程:
通过课件配合流程图的形式,让学生清晰的观看到如何控制程序的走向,然后针对流程图以口述的形式讲授,这样更加直观,更容易接受,从而解决本节的一个重点。
例题部分:
解决教学重点的重要环节。
利用课件对例题进行分析和解答,并再次通过流程图的形式展示程序执行过程,突出本节的重点,观看课件中解题过程部分,学生还可以看到在执行过程中变量是如何变化的,深刻体会如何通过循环变量来控制循环,达到更加了解循环,更会利用循环的目的。讲解过后会让学生在计算机上练习一遍,做到讲练结合,这个阶段老师可以从旁指点、答疑,并观察教学效果,搜集反馈信息。
练习题:
利用课件做出答题系统,练习题突出执行过程,循环次数及变量的变化。完成任务:
通过理论部分的讲解和练习之后,学生对For循环有了基本掌握,之后就要完成任务了,回过头来考虑最初的问题,如何应用本节课的知识来解决,让学生分组相互讨论,以便更快更好的完成。
课堂小节:
会带领学生再回顾一遍本节课的内容,强调重点部分,帮助学生形成知识体系。
布置作业:
作业能够突出本节重点,并结合实际问题,让学生做到能够学以致用。
第五篇:VB循环语句
注:被中括号(“[”、“]”)括起来的都是可选参数!
For Each...Next 语句: 语句格式
For Each Variant In Collection Or Array
[Statement(s)]
[Exit For]
[Statement(s)] Next [Variant] 参数解释
Variant: 如果In后面是一个集合(Collection),Variant可以是任何数据类型的一个变量;如果In后面是一个数组(Array),Variant就只能是一个Variant变量。
Collection: 可以是任何一个对象集合。Array: 可以是任何一个数组(Type数组除外)。Statement(s): 可以是任何一句或多句语句。
Exit For: 可以强制退出循环体。For Each...Next 语句的作用
集合/数组里面有多少对象/多少维,For Each...Next 语句就会执行多少次Statement(s)。
Do...Loop 语句: 语句格式
Do [{While | Until} Condition]
[Statement(s)]
[Exit Do]
[Statement(s)] Loop [{While | Until} Condition] 参数解释
While: 如果While在Do后面,那么循环体一开始就会检查Condition的值,如果Condition的值为False,就退出循环体;否则,执行Statement(s);如果While在Loop后面,则在执行完第一次Statement(s)时才检查Condition的值,如果Condition的值为False,就退出循环体;否则,继续循环。
Until: 如果Until在Do后面,那么循环体一开始就会检查Condition的值,如果Condition的值为True,就退出循环体;否则,执行Statement(s);如果Until在Loop后面,则在执行完第一次Statement(s)时才检查Condition的值,如果Condition的值为True,就退出循环体;否则,继续循环。
Condition: 可以是任何一个表达式。Statement(s): 可以是任何一句或多句语句。
Exit Do: 可以强制退出循环体。Do...Loop 语句的作用
重复循环Statement(s),直到Condition为True或False(在指定了While或Until的情况下)。
For...Next 语句: 语句格式
For Counter = Start To End [Step Step]
[Statement(s)]
[Exit For]
[Statement(s)] Next [Counter] 参数解释
Counter: 可以是任何一个变量(但不能是Boolean或者是数组),用来做计数器。Start: Counter的初值。End: Counter的终值。
Step: Counter一次增加多少,默认为1。1次增加n: For...=...To...Step n;1次减n: For...=...To...Step-n。
Statement(s): 可以是任何一句或多句语句。
Exit For: 可以强制退出循环体。For...Next 语句的作用
重复执行((End-Counter)Step)次Statement(s)。
While...Wend 语句: 语句格式
While Condition
[Statement(s)] Wend 参数解释
Condition: 可以是任何一个表达式。Statement(s): 可以是任何一句或多句语句。
While...Wend 语句的作用
重复执行语句,直到Condition不为True。