linux shell编程3 - 条件测试
来源:互联网 发布:细说php视频教程 编辑:程序博客网 时间:2024/05/18 17:42
1. 基本语法
test condition
或
[ condition ]
使用括号方式时,条件与括号之间要加空格。
2. 字符串测试
字符串测试是条件判断中最重要的部分,
例:测试两个字符是否相等。退出状态变量 $?,0表示成功,1表示失败。
if 命令就是使用该值做判断。
= 两字符串相等。
!= 两字符串不等。
-z 空串。
-n 非空串。
3. 测试文件状态
例:测试文件 scores.txe 是否可执行。
-d 目录
-f 文本文件
-L 符号链接
-s 文件非空
-r 可读
-w 可写
-x 可执行
-u 文件有suid位设置
4. 数字测试
例:测试第一个数字小于第二个数字。
-eq 相等。
-ne 不等
-gt 大于。
-ge 大于或等于。
-lt 小于。
-le 小于或等于。
4. expr数字运算
加法运算:expr 10 + 10
减法运算:expr 20 - 10
加法运算:expr 10 / 5
乘法运算:expr 10 \* 5
如果是非数字参加运算会报错误,利用吃点可以用来测试数字格式。
5. 两个以上的条件之间的逻辑关系
test condition
或
[ condition ]
使用括号方式时,条件与括号之间要加空格。
2. 字符串测试
字符串测试是条件判断中最重要的部分,
例:测试两个字符是否相等。退出状态变量 $?,0表示成功,1表示失败。
if 命令就是使用该值做判断。
[root@localhost ~]# [ "aa" = "bb" ][root@localhost ~]# echo $?1if [ -x scores.txt ]; then echo 11111; fi;字符串测试可以使用以下条件表达式:
= 两字符串相等。
!= 两字符串不等。
-z 空串。
-n 非空串。
3. 测试文件状态
例:测试文件 scores.txe 是否可执行。
[root@localhost ~]# [ -x scores.txt ][root@localhost ~]# echo $?1条件测试可以使用以下条件表达式:
-d 目录
-f 文本文件
-L 符号链接
-s 文件非空
-r 可读
-w 可写
-x 可执行
-u 文件有suid位设置
4. 数字测试
例:测试第一个数字小于第二个数字。
[root@localhost ~]# [ "10" -lt "99" ][root@localhost ~]# echo $?0数字测试可以使用以下条件表达式:
-eq 相等。
-ne 不等
-gt 大于。
-ge 大于或等于。
-lt 小于。
-le 小于或等于。
4. expr数字运算
加法运算:expr 10 + 10
减法运算:expr 20 - 10
加法运算:expr 10 / 5
乘法运算:expr 10 \* 5
如果是非数字参加运算会报错误,利用吃点可以用来测试数字格式。
[root@localhost opt]# if expr a + 100; then echo aaaa; else echo bbbb; fi;expr: non-numeric argumentbbbb
5. 两个以上的条件之间的逻辑关系
[root@localhost opt]# [ -w results.txt -a -w scores.txt ][root@localhost opt]# echo $?0-a 逻辑与,两个条件同时为0,结果为0。-o 逻辑或,只要一个条件为0,结果为0。
- linux shell编程3 - 条件测试
- Linux之shell编程-条件测试
- Linux 与 Shell编程(2)-条件测试
- (6)Linux ----- Shell编程条件测试 ---- ④
- linux shell编程(二) 条件测试
- SHELL 编程 -- 条件测试
- shell编程条件测试
- linux shell 测试条件
- linux shell 条件测试
- Shell编程--2.条件测试
- shell编程中的条件测试
- shell编程之条件测试
- Linux Shell编程(三)--条件测试
- linux shell编程指南第十七章------条件测试
- linux之shell 条件测试
- Linux Shell编程-条件判断
- 【Linux shell】 Shell编程中的条件判断
- Shell 编程学习笔记:条件测试
- RTTI(dynamic_cast与typeid)
- PADS中Layer的描述说明
- IIS 安装配置全攻略——WEB篇
- Android开发中的多线程编程技术
- dede 面包屑最后一个>
- linux shell编程3 - 条件测试
- 在某本书上看到的编程十问
- Ubuntu系统中网络连接图标不见了怎么办?
- 运算符重载
- Java 中的内部类和匿名类
- 服务器的性能指标
- RHCE6考试感想(转载)
- HOJ 1956 Square(DFS+剪枝)
- 我们的脚正在走向我们自己选定的终点