shell编程基础之条件测试
关键字却不这样。关键字把整个表达式看作一个单独的元素,并且返回一个退出码。[[]]结构比[]更灵活,是一个扩展的test命令。
复制代码 代码示例:
字符串测试是错误捕获很重要的一部分,特别在测试用户输入或比较变量时尤为重要。1、文件测试
[root@localhost ~]# [ -w results.txt -a -w scores.txt ]
!= 两个字符串不等
test is a shell builtin
-d 目录 -s 文件长度大于0、非空
注意:
结果为真。
可以用逻辑操作符将两个测试表达式结合起来。
$ type [ [[ test
[root@localhost ~]# [ "990" -le "995" ] -a [ "123" -gt "33" ]
-lt 第一个数小于第二个数
-ge 第一个数大于等于第二个数
[root@localhost ~]# [ "990" -le "995" -a "123" -gt "33" ]
-gt 第一个数大于第二个数
-o 逻辑或,操作符两边一边为真,结果为真,否则为假。
-a 逻辑与,操作符两边均为真,结果为真,否则为假。
2、字符串测试
[[ is a shell keyword
== 两个字符串相等
测试两个表达式,如果都为真,结果为真,正确使用方式应为:
测试时使用逻辑操作符
1)、比较两个文件:
-r 可读 -x 可执行
复制代码 代码示例:
[ is a shell builtin测试文件状态的操作符如下:
2)、测试两个文件是否均可读。
4、test、[] 、[[]]、(())的异同
复制代码 代码示例:
有关shell脚本中条件测试的基础内容,就介绍这些了,希望对大家有所帮助。
[[ 是 bash 程序语言的关键字,而其他是内建命令!3、测试数值
-rwxr-xr-x 1 root root 0 Nov 21 12:22 results.txt
仅需要用到一对方括号,而不能用两个,否则将返回错误信息“ too many arguments”。
[root@localhost ~]# ls -l results.txt scores.txt
[root@localhost ~]# echo $?
0 -bash: [: too many arguments
在linux shell中,有时需要判断字符串是否相等,有时需要检查文件状态或进行数字测试。
字符串测试的操作符有三种。那么,本节就带领大家学习下shell脚本中有关条件测试的相关知识。
如果是命令,它把参数作为比较表达式或文件测试,并且根据比较结果,返回一个退出码。那样比如 ">" "<" 就被 shell 解释为重定向符号了。很多时候,这个三个功能通用。但是命令和关键字总是有区别的。
[root@localhost ~]# echo $?
[root@localhost ~]# NUMBER=130
0
测试文件状态是否为OK,但是有时要比较两个文件状态。shell提供三种逻辑操作完成此功能。
0
-f 正规文件 -w 可写
复制代码 代码示例:
-le 第一个数小于等于第二个数-n 非空字符串 (())可以应用于算术表达式的运算,并将结果作为退出码。如果表达式结果为0,则返回1作为退出码,否则返回0作为退出码。
复制代码 代码示例:
-z 字符串为空复制代码 代码示例:
测试两个数是否相等(130是否等于130)。
可以不必将整数值放入变量,直接用数字比较即可,但要加引号。
0
-rw-r--r-- 1 root root 0 Nov 21 12:15 scores.txt -ne 数值不相等
! 逻辑否,条件为假,结果为真。
-eq 数值相等
[root@localhost ~]# [ "990" -le "995" ]
相关热词: shell
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://www.juheyunku.com/jiaob/shell/6271.shtml
相关文章
热门TAG
命令 外链 企业网站 白帽 php 织梦教程 dedecms修改内容 javascript 织梦 功能 标签 调用 详解 技巧 权重 服务器 网站流量 Dedecms 织梦cms HTML tags标签 python jquery教程 jquery windows 蜘蛛 搜索引擎 网站收录 JSP 实例解析最新文章
-
PHP生成奖状
时间:2021-01-06
-
python实现输入五个数并求
时间:2021-01-06
-
php检测网站是否正常打开
时间:2021-01-05
-
python怎么右对齐
时间:2021-01-05
-
Python3爬虫入门之Python3的安
时间:2021-01-05
-
如何用PHP接收http请求头信
时间:2021-01-05
-
数据库怎么连接用php写的
时间:2021-01-05
-
php后缀怎么打开
时间:2021-01-05
热门文章
-
解析shell字段分隔符的用法(图文)
时间:2020-12-22
-
Python3爬虫进阶:MongoDB存储(非关系型数
时间:2020-12-29
-
如何在Linux或者UNIX下调试Bash Shell脚本
时间:2020-12-22
-
关于php中匿名函数与回调函数的详解
时间:2020-12-29
-
php文档怎么打开
时间:2020-12-29
-
php检测网站是否正常打开
时间:2021-01-05
-
PHP PHP_EOL 换行符
时间:2020-12-29
-
python实现输入五个数并求平均值
时间:2021-01-06
-
浅谈Linux Shell的管道与重定向
时间:2020-12-23
-
如何检测Django是否安装成功
时间:2020-12-29
