快速业务通道

shell学习笔记五--控制流

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-29
Shell脚本的实质,只是把一系列的shell命令写入文件,然后给予该文件执行权限.执行脚本文件时,脚本中的命令按照自上而下的顺序一条接一条地被执行,直到脚本结束.那么可以改变脚本的执行顺序吗?答案是肯定的.如果你接触过编程类语言,应该对ifforwhile不陌生吧(当然,没接触过也丝毫没有关系).shell也有这些结构,它们被称为控制流结构.Shell中控制流具体有哪些呢,这就是本篇文章要讨论的全部内容: 判断
Empire CMS,phome.net
if 分支判断case 循环 for 循环 while 循环 until 其实概括起来,只是2类结构而已:判断和循环.

一、判断

Empire CMS,phome.net
if if结构的一般格式为: if command then command1 command2 fi 其中,if后面的命令command,需要检测其退出状态:如果退出状态为0,则执行
Empire CMS,phome.net
thenfi之间的命令;退出状态不为0,则跳过这些命令. 退出状态 linux系统中,每个命令执行完成后,都会给系统返回一个退出状态.该状态是个数值,用来告诉系统命令执行成功了没有.按照约定,退出状态为0表示成功,不为0表示失败.命令运行失败的常见原因之一,就是传递给命令的参数不对,但是也可能有其他原因.拿grep做为例子,当给
Empire CMS,phome.net
grep传递的参数数目不对,或者传递的参数文件不存在,或者grep没有找到指定的模式,都被认为是失败的,返回一个不为0的退出状态.只有当grep在指定文件中找到了指定的模式,才返回退出状态0 $ who | grep root root tty2 2009-08-17 16:59 root pts/0 2009-09-29 16:25 (192.168.1.130) $ echo $? 0
Empire CMS,phome.net
$ who | grep licong $ echo $? 1 $ 符号$?表示上一个命令的退出状态.当我们在登陆用户中找licong时,没找到返回给系统一个值为1的退出状态,我们用ehco把这个状态显示了出来.注意,成功的命令退出状态值总是1,而失败的非0状态值可能因系统而异(并不一定总是
Empire CMS,phome.net
*表示0或若干个字符;[…]表示方括号所包含字符中的任意一个.*可以匹配任何内容,我们一般把* )放在一个分支来作为万能匹配.


加上后面的内容,文章就大大超过文字上限8万字符了,只能把剩下的内容连接到别的文章了,哎...提供一下地址:http://licong.blog.51cto.com/542131/212800

Empire CMS,phome.net

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号