`

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学习教程 Shell编程-2 共31页.pptx

    通过以上详细说明,我们可以看到Shell编程-2这一部分涵盖了Shell编程的基础知识,包括条件测试、基本控制结构以及函数的使用。这些知识点对于理解和编写有效的Shell脚本至关重要,也是Linux运维人员必备的技能之一。

    Shell程序设计 - 条件测试.mp4

    Shell程序设计 - 条件测试.mp4,Linux系统shell编程培训视频,大厂内部员工培训视频资料,都是纯纯的干货,欢迎下载使用

    shell编程--用户信息管理(模拟).doc

    学生需要熟悉和掌握如`chmod`(改变文件权限)、`clear`(清除屏幕)、`echo`(打印文本)、`if`条件测试、`grep`(搜索文本)、`awk`(文本处理)等常用Linux命令。 8. **设计功能**: - 显示所有用户信息:脚本...

    Linux从零入门实战-Shell编程-b64_c3VuJTIwYm95-it720.pdf

    3. **条件测试**:使用条件表达式(如`[ -f file ]`检查文件是否存在,`[ $VAR -gt 10 ]`比较数值)进行条件判断,结合`if`、`else`、`elif`构建复杂的逻辑。 4. **循环语句**:包括`for`、`while`和`until`循环,...

    shell编程-用户信息管理(模拟).doc

    【shell编程-用户信息管理(模拟)】 在Linux操作系统中,shell编程是一种强大的工具,用于自动化执行各种任务。用户信息管理是系统管理的核心部分,它涉及到用户账户的创建、删除和查询。本课程设计旨在让学生掌握...

    linux下shell编程--流程控制

    本文将深入探讨Shell编程中的流程控制,包括`for`、`while`、`until`循环,以及`case`条件选择和`select`交互式选择。此外,还将介绍一些关键的控制关键字和函数定义,以及`read`、`readonly`和`expr`表达式等相关...

    shell编程指南shell编程指南shell编程指南shell编程指南

    `test`或`[`命令用于进行条件测试,如文件是否存在、比较两个值等。 2. 循环结构:`for`循环遍历列表,`while`循环在条件满足时重复执行代码块。 3. 选择结构:`case...esac`允许基于多个条件执行不同的代码段。 五...

    《LINUX与UNIX SHELL编程指南》读书笔记-二次发布版

    4. 条件测试:`if`语句和相关的测试命令如`[ ]`(test命令)用于进行条件判断。 三、Shell脚本编程 1. 变量:Shell脚本中的变量无需声明,直接赋值即可。例如,`NAME="John"`。 2. 控制结构:包括`if...else`、`for...

    shell编程shell编程shell编程shell编程

    在条件测试中,方括号两侧必须有空格,例如`[ -f "somefile" ]`检查文件是否存在。常用的测试类型包括: - `[-f 文件名]`:检查是否为常规文件。 - `[-x 文件名]`:检查文件是否可执行。 - `[-n 字符串]`:检查字符...

    LINUX与UNIX SHELL编程指南

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

    LINUX shell编程.doc

    在 Shell 脚本中,可以通过使用 `test` 命令来进行比较操作,这在条件判断中非常有用。 1. **字符串比较**: - `=`:测试两个字符串是否相等。 - `-z`:测试字符串是否为空。 - `-n`:测试字符串是否非空。 - `...

    linux与unix shell编程指南19-20.rar_Linux与Unix SHELL编程指南_linux shell编程

    `[ -f "$filename" ]`是一个条件测试,判断文件是否存在。双引号用于防止变量中的空格导致问题。 流程控制结构还包括函数定义,允许我们将代码组织成可重用的模块。此外,shell支持命令替换、命令别名、管道和...

    实战Linux Shell编程与服务器管理-脚本文件.rar

    10. **test.sh**:通常是一个测试脚本,可能包含各种Shell编程的实例,用于学习和调试。 掌握这些知识后,你将能够编写和管理Linux服务器,实现自动化任务,提升运维效率。通过实践这些脚本和范例,可以深入理解...

    shell编程指南-ABS

    - **Tests**:详细解析shell中的条件测试命令,包括文件测试、数值比较和逻辑运算。 #### 第三部分:超越基本 - **变量重游**:进一步探索变量的高级用法,如内部变量的使用、字符串操作和参数替换。 - **操作符和...

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

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

    2本linux shell 编程chm

    Linux Shell编程是Linux系统管理与自动化任务的核心技术之一,它主要指的是使用Shell脚本来执行一系列命令,实现自动化操作。在Linux环境中,Bash(Bourne-Again SHell)是最常用的Shell,也是许多Linux发行版的默认...

    Linux Shell编程艺术-3

    Linux Shell编程艺术是掌握Linux系统管理和自动化任务执行的关键技能之一。Shell脚本是Linux环境中的命令解释器,它允许用户通过编写脚本来执行一系列指令,从而提高效率和自动化程度。在"Linux Shell编程艺术-3"中...

Global site tag (gtag.js) - Google Analytics