码迷,mamicode.com
首页 > 系统相关 > 详细

Shell中的条件测试和循环语句

时间:2016-08-09 13:25:59      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:

1.条件测试:test或[

如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假,则命令的Exit Status为0

技术分享

 运行结果:
技术分享

带与、或、非的测试命令
[ ! EXPR ] : EXPR可以是上表中的任意一种测试条件,!表示逻辑反
[ EXPR1 -a EXPR2 ] : EXPR1和EXPR2可以是上表中的任意一种测试条件,-a表示逻辑 与
[ EXPR1 -o EXPR2 ] :EXPR1和EXPR2可以是上表中的任意一种测试条件,-o表示逻辑 或

 2. if/then/elif/else/fi

 Shell中用用if、then、elif、else、fi这几几条命令实现分支支控制

技术分享

运行结果:

技术分享

Shell还提供了&&和||语法,&&相当于“if...then...”,而||相当于“if not...then...”。

-a和-o仅用于在测试表达式中连接两个测试条件

技术分享

3、case/esac

Shell脚本的case可以匹配字符串和Wildcard,每个匹配分支可以有若干 条命令,末尾必须以;;结束,执行行时找到第一个匹配的分支支并执行行相应的命令,然后直接跳 到esac之后
技术分享

运行结果:

技术分享

循环语句

4、for/do/done

如下例子:

技术分享

运行结果:

技术分享

5、while/do/done

如下例子:

技术分享

运行结果:

技术分享

6. 位置参数和特殊变量
有很多特殊变量是被Shell自动赋值的,以下是常用的位置参数和特殊变量
$0                   相当于C语言言main函数的argv[0]
$1、$2...          C语言言main函数 的argv[1]、argv[2]...
以上这些称为位置参数(Positional Parameter)
$#                    相当于C语言言main函数的argc - 1
$@                  表示参数列表"$1" "$2" ...,例如可以用用在for循环中的in后面。
$?                   上一条命令的Exit Status

Shell中的条件测试和循环语句

标签:

原文地址:http://www.cnblogs.com/Blog-day/p/My_Blog_Days-31.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!