仓酷云

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

[CentOS(社区)] 给大家带来Centos下令――expr test

[复制链接]
不帅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 21:17:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!对文件、字符串和数字利用test下令。
对数字和字符串利用expr下令。
expr下令测试和实行数值输入。利用最初加入形态下令$?可测知test和expr,两者均以0暗示准确,1暗示前往毛病。

expr用法
expr下令一样平常用于整数值,但也可用于字符串。一样平常格局为:
exprargumentoperatorargument
expr也是一个手工下令行计数器。
#expr10+10
20
#expr1500+900
2500
#expr30/3
10
#expr30/3/2
5
(注重运算符摆布都有空格)
利用乘号时,必需用反斜线屏障其特定寄义。由于shell大概会曲解显现星号的意义。
#expr30*3
(准确操纵)
#expr5*4

增量计数
expr在轮回顶用于增量盘算。起首,轮回初始化为0,然后轮回值加1,反引号的用法意
即替换下令。最基础的一种是从(expr)下令承受输入并将之放进轮回变量。
#LOOP=0
#LOOP=`expr$LOOP+1`

数值测试
能够用expr测试一个数。假如试图盘算非整数,将前往毛病。
#rr=1.1
#expr$rr+1
expr:non-numericargument
$rr=2
#expr$rr+1
3
这里必要将一个值付与变量(不论其内容怎样),举行数值运算,并将输入导进dev/null,
然后测试最初下令形态,假如为0,证实这是一个数,其他则标明为非数值。
#value=12
#expr$value+10>/dev/null2>&1
#echo$?
0
这是一个数。
#value=hello
#expr$value+10>/dev/null2>&1
#echo$?
2
这是一个非数值字符。

expr也能够前往其自己的加入形态,不幸的是前往值与体系最初加入下令恰好相反,成
功前往1,任何其他值为有效或毛病。上面的例子测试两个字符串是不是相称,这里字符串为
“hello”和“hello”。
#value=hello
#expr$value="hello"
1
#echo$?
0
expr前往1。不要搅浑了,这标明乐成。如今查验其最初加入形态,前往0暗示测试乐成,
“hello”的确即是“hello”。

test用法
test一样平常有两种格局,即:testcondition或[condition]。利用方括号时,要注重在前提双方加上空格。
经常使用文件形态测试:
-d目次
-s文件长度年夜于0、非空
-f正轨文件
-w可写
-L标记毗连
-u文件有suid位设置
-r可读
-x可实行
-c字符设备文件

利用两种***测试文件scores.txt是不是可写并用最初加入形态测试是不是乐成。记着:0暗示乐成,其他为失利。
[root@localhost~]#ls-l
-rw-r--r--1rootroot5Sep2118:43scores.txt

[root@localhost~]#[-wscores.txt]
[root@localhostruby]#echo$?
0

[root@localhost~]#test-wscores.txt
[root@localhost~]#echo$?
0

注重,这个的是不是读、写、实行是依据以后用户对这个文件所具有的权限而言的。假如我们换另外一个用户,了局就纷歧定了。
测试时利用逻辑操纵符
-a逻辑与,操纵符双方均为真,了局为真,不然为假。
-o逻辑或,操纵符双方一边为真,了局为真,不然为假。
!逻辑否,前提为假,了局为真。

[root@localhost~]#ls-l
-rw-r--r--1rootroot0Sep2119:39a
-rw-r--r--1rootroot0Sep2119:39b

[root@localhost~]#[-wa-a-xb]
[root@localhost~]#echo$?
1
[root@localhost~]#[-wa-o-xb]
[root@localhost~]#echo$?
0
[root@localhost~]#[!-wa-o-xb]
[root@localhost~]#echo$?
1

字符串对照
=两个字符串相称。
!=两个字符串不等。
-z空串。
-n非空串。

[root@localhost~]#a=""
[root@localhost~]#[-z$a]
[root@localhostruby]#echo$?
0

[root@localhost~]#a="123"
[root@localhost~]#[-z$a]
[root@localhost~]#echo$?
1
[root@localhost~]#[-n$a]
[root@localhost~]#echo$?
0

测试数值
-eq数值相称。
-ne数值不相称。
-gt第一个数年夜于第二个数。
-lt第一个数小于第二个数。
-le第一个数小于即是第二个数。
-ge第一个数年夜于即是第二个数。

[root@localhost~]#["123"-eq"123"-a"123"-ge"100"]
[root@localhost~]#echo$?
0
[root@localhost~]#a=12
[root@localhost~]#b=10
[root@localhost~]#[$a-gt$b]
[root@localhost~]#echo$?

如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!
活着的死人 该用户已被删除
沙发
发表于 2015-1-17 10:05:54 来自手机 | 只看该作者
清楚了解网络的基础知识,特别是在Linux下应用知识,如接入internet等等。
兰色精灵 该用户已被删除
板凳
发表于 2015-1-26 05:09:43 | 只看该作者
熟悉操作是日常学习Linux中的三大法宝。以下是作者学习Linux的一些个人经验,供参考:
简单生活 该用户已被删除
地板
发表于 2015-2-4 17:54:51 | 只看该作者
清楚了解网络的基础知识,特别是在Linux下应用知识,如接入internet等等。
冷月葬花魂 该用户已被删除
5#
发表于 2015-2-10 05:24:43 | 只看该作者
生成新的unispimsp.ksc。”另外得到回复后如果问题解决,向帮助过你的人发个说明,让他们知道问题是怎样解决的。
乐观 该用户已被删除
6#
发表于 2015-2-28 22:50:55 | 只看该作者
甚至目前许多应用软件都是基于它的。可是没有哪一个系统是十分完美的。
7#
发表于 2015-3-10 10:10:22 | 只看该作者
工具书对于学习者而言是相当重要的。一本错误观念的工具书却会让新手整个误入歧途。目前国内关于Linux的书籍有很多不过精品的不多。
精灵巫婆 该用户已被删除
8#
发表于 2015-3-17 06:56:51 | 只看该作者
当然你不需搭建所有服务,可以慢慢来。自己多动手,不要非等着别人帮你解决问题。
小女巫 该用户已被删除
9#
发表于 2015-3-24 03:15:51 | 只看该作者
随着Linux应用的扩展,出现了不少Linux社区。有一些非常优秀的社区往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-27 20:53

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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