`

SHELL编程-条件测试

 
阅读更多

1. 基本语法
test condition

[ condition ]
使用括号方式时,条件与括号之间要加空格。

2.
测试文件状态
例:测试文件 scores.txe 是否可执行。

[root@localhost ~]# [ -x scores.txt ]  

[root@localhost ~]# echo $?  

1  

条件测试可以使用以下条件表达式:
-d
目录
-f
文本文件
-L
符号链接
-s
文件非空
-r
可读
-w
可写
-x
可执行
-u
文件有suid位设置


3.
字符串测试
字符串测试是条件判断中最重要的部分,
例:测试两个字符是否相等。退出状态变量 $?0表示成功,1表示失败。
if
命令就是使用该值做判断。

[root@localhost ~]# [ "aa" = "bb" ]  

[root@localhost ~]# echo $?  

1  

if [ -x scores.txt ]; then echo 11111; fi;   

字符串测试可以使用以下条件表达式:
=  
两字符串相等。
!=
两字符串不等。
-z
空串。
-n
非空串。


4.
数字测试
例:测试第一个数字小于第二个数字。

[root@localhost ~]# [ "10" -lt "99" ]  

[root@localhost ~]# echo $?  

0  

数字测试可以使用以下条件表达式:
-eq
相等。
-ne
不等
-gt
大于。
-ge
大于或等于。
-lt
小于。
-le
小于或等于。

5. 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 argument  

bbbb  


6.
两个以上的条件之间的逻辑关系

[root@localhost opt]# [ -w results.txt -a -w scores.txt ]  

[root@localhost opt]# echo $?  

0  

-a 逻辑与,两个条件同时为0,结果为0-o 逻辑或,只要一个条件为0,结果为0

分享到:
评论

相关推荐

    UNIX命令及SHELL编程

    17_基础shell编程-条件测试.PDF 18_基础shell编程-控制流结构.PDF 19_基础shell编程-shell 函数.PDF 20_基础shell编程-向脚本传递参数.PDF 21_基础shell编程-创建屏幕输出.PDF 22_基础shell编程-创建屏幕输入....

    LINUX与UNIX SHELL编程指南

    第十七章 条件测试 第十八章 控制流结构 第十九章 SHELL函数 第二十章 向脚本传递参数 第二一章 创建屏幕输出 第二二章 创建屏幕输入 第二三章 调试脚本 第二四章 SHELL嵌入命令 第五部分 高级SHELL编程技巧 第二五...

    shell 编程指南pdf

    第四部分 基础shell编程 第16章 shell脚本介绍 151 16.1 使用shell脚本的原因 151 16.2 脚本内容 151 16.3 运行一段脚本 152 16.4 小结 153 第17章 条件测试 154 17.1 测试文件状态 154 17.2 测试时使用逻辑操作符 ...

    绝版经典 LINUX与UNIX SHELL编程指南 PDF 高清版 [16.3M]

    第十七章 条件测试 第十八章 控制流结构 第十九章 SHELL函数 第二十章 向脚本传递参数 第二一章 创建屏幕输出 第二二章 创建屏幕输入 第二三章 调试脚本 第二四章 SHELL嵌入命令 第五部分 高级SHELL编程技巧...

    Linux Shell编程3/3

    _grep家族 |_awk介绍 |_sed用法介绍 |_合并与分割 |_tr用法 第三部分登录环境 |_登录环境 |_环境和shell变量 |_引号 第四部分基础shell编程 |_shell脚本介绍 |_条件测试 |_控制...

    LINUX与UNIX SHELL编程指南(很全)

    第四部分 基础shell编程 第16章 shell脚本介绍 151 16.1 使用shell脚本的原因 151 16.2 脚本内容 151 16.3 运行一段脚本 152 16.4 小结 153 第17章 条件测试 154 17.1 测试文件状态 154 17.2 测试时使用逻辑操作符 ...

    Shell编程大全.pdf

    所有shell编程用到的技术详解, 第1章 文件安全与权限 2章 使用find和xargs 3章 后台执行命令 4章 文件名置换 5章 shell输入与输出 ...16章 条件测试 17章 控制流结构 18章 函数 19章 向脚本传递参数

    Shell编程范例之布尔运算-TinyLab原创

    本文由TinyLab.org原创。 本文是自由书籍《Shell...对它们可以进行与、或、非运算等常规的逻辑运算,在这一节,我们除了讨论这些基本逻辑运算外,还将讨论SHELL编程中的条件测试和命令列表,并介绍它们和布尔运算的关系。

    绝版高清经典Linux与UNIX_Shell编程指南中文版

    条件测试 控制流结构 shell 函数 向脚本传递参数 创建屏幕输出 创建屏幕输入 调试脚本 shell嵌入命令 高级shell编程 深入讨论 shell工具 几个脚本例子 运行级别脚本 cgi脚本 常用shell命令

    Linux与unix shell编程指南

    第17章 条件测试 154 17.1 测试文件状态 154 17.2 测试时使用逻辑操作符 155 17.3 字符串测试 155 17.4 测试数值 156 17.5 expr用法 157 17.5.1 增量计数 158 17.5.2 数值测试 158 17.5.3 模式匹配 158 17.6 小结 ...

    跟老男孩学Linux运维:Shell编程实战 part3

    第二部分为第5章~第8章,着重讲解变量的多种数值运算、条件测试与比较、if条件判断语句、Shell函数等相关的知识。第三部分为第9章~第13章,着重讲解case条件语句、while循环和until型循环、for循环和select循环、...

    跟老男孩学Linux运维:Shell编程实战

    《跟老男孩学Linux运维:Shell编程实战》第二部分为第5章~第8章,着重讲解变量的多种数值运算、条件测试与比较、if条件判断语句、Shell函数等相关的知识。《跟老男孩学Linux运维:Shell编程实战》第三部分为第9章~第...

    shell 编程(中文)[pdf]

    016_基础shell编程_shell脚本介绍.pdf 017_条件测试_test_expr.pdf 018_控制流结构_if_for_while_case_util_break_continue.pdf 019_Shell函数.pdf 020_向脚本传递参数_shift_getops.pdf 021_创建屏幕输出_tput.pdf ...

    shell编程指南,shell脚本,本书共分五部分全。grep家族,sed,AWK,正则表达式,tr用法

    第17章 条件测试 154 第18章 控制流结构 160 第19章 shell函数 202 第20章 向脚本传递参数 224 第21章 创建屏幕输出 236 第22章 创建屏幕输入 252 第23章 调试脚本 274 第24章 shell嵌入命令 277 第五部分 高级...

    Linux与UNIX Shell编程指南.rar

    第十七章 条件测试 第十八章 控制流结构 第十九章 SHELL函数 第二十章 向脚本传递参数 第二一章 创建屏幕输出 第二二章 创建屏幕输入 第二三章 调试脚本 第二四章 SHELL嵌入命令 第五部分 高级SHELL编程技巧 第二五...

    LINUX与UNIX SHELL编程指南 高清PDF

    第17章 条件测试 154 17.1 测试文件状态 154 17.2 测试时使用逻辑操作符 155 17.3 字符串测试 155 17.4 测试数值 156 17.5 expr用法 157 17.5.1 增量计数 158 17.5.2 数值测试 158 17.5.3 模式匹配 158 17.6 小结 ...

    Linux实验八 shell编程(一)

    【实验目的】 1、了解shell的概念 2、了解shell变量的种类...1、掌握shell编程的方法。 2、掌握shell的特殊字符,条件测试。 【实验内容】 1.Shell变量的定义及其使用。 2.位置参数和环境变量。 3.Shell中的特殊字符。

Global site tag (gtag.js) - Google Analytics