当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > shell 阅读笔记--控制流结构

Unix/Linux
使用yum把内核升级到Kernel 2.6.0test9
请问如何在vi中做到高亮显示?
Firefly 的Xft2 for Fedora下载安装
如何设置cygwin控制台字体高亮显示?
SWT(implemented with gtk)的可视化控件的X11窗口句柄
发现PUTTY的一个弱点
rh9.0的apache怎么没有htdoc这个文件夹啊
网络字节序的问题
linux filesystem 1TB limited?
防火墙iptables的一个有些难度的问题(虚心请教高手)
总结INIT :Id "2" respawing too fast :disable for 5
编译完内核让它支持ntfs之后,只需要make dep就可以吗?
在Virtual PC 5.2上配置Debian的网络
如何设置同一用户同一时间只能有一个人登陆啊??
讨论一下:mount 时会不会提示本地目录已经mount了一个了?
can't add this user?why?
有没有可能突破扩展分区上逻辑分区15个的限制?
1.网友文章:一Linux系统的入侵分析 (2002年6月11日)
Debian参考手册
提供在turbolinux7.0下安装拨号服务器的方法!

Unix/Linux 中的 shell 阅读笔记--控制流结构


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 65 ::
收藏到网摘: n/a

1 流控制 if cond1 如果条件判断不换行,则需要加; then command1 else command2 fi if then elif then fi
shell 阅读笔记-语句控制1 流控制 if cond1 如果条件判断不换行,则需要加; then command1 else command2 fi if then elif then fi2 case 语句 case 语句为多选择语句。可以用case 语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。case 语句格式如下: case 值 in 模式1} 命令1 . . . ;; 模式2) 命令2 . . . ;; esac 对匹配模式使用|,3 缺省的变量赋值 : 如果var为空,则缺省赋值4 for循环 for循环一般格式为: for 变量名 i n列表 do 命令1 命令2 done 当变量值在列表里, f o r循环即执行一次所有命令,使用变量名访问列表中取值。命令可为任何有效的s h e l l命令和语句。变量名为任何单词。I n列表用法是可选的,如果不用它, f o r循环使用命令行的位置参数。 in列表可以包含替换、字符串和文件名.5 while循环 while循环用于不断执行一系列命令,也用于从输入文件中读取数据,其格式为: while 命令 do 命令1 命令2 . . . done 虽然通常只使用一个命令,但在while 和do之间可以放几个命令。命令通常用作测试条件。只有当命令的退出状态为0时,do和done之间命令才被执行,如果退出状态不是0,则循环终止。命令执行完毕,控制返回循环顶部,从头开始直至测试条件为假。 例子:使用IFS读文件 输出时要去除冒号域分隔符,可使用变量I F S。在改变它之前保存I F S的当前设置。然后在脚本执行完后恢复此设置。使用I F S可以将域分隔符改为冒号而不是空格或t a b键。这里有个域需要加域分隔, #!/bin/sh #通过文件重定向输出到WHILE循环 SAVEDIFS=$IFS IFS=: while read var1 var2 var3 do echo -e "\t $var1 \t var2 \tvar3" done IFS=$SAVEDIFS 该file.txt文件以:作为域分割符6 产生一个空的文件 >&filename7 break 和continue 用于跳出和继续循环