目录
前言:
学习条件语句能够让我们处理更加复杂多变得系统任务,这里将学习if和case程序控制语句。
一、条件测试
Shell环境根据命令执行后的返回状态值(0?)来判断是否执行成功,当返回值为0时表示成功,
否则(非0值)表示失败或异常。使用专门的测试工具-test命令可以对特定条件进行测试,并根据返
回值来判断条件是否成立(返回值为0表示条件成立)。
语法格式:test 条件表达式
或:[条件表达式] (注意中括号和表达式中间需要隔一个空格。)
两种方式的作用完全相同,后一种较为常用,也更贴近编程习惯。根据需要测试的条件类别不
同,条件表达式也不同。比较常用的条件操作包括文件测试、整数值比较、字符串比较、以及针对
多个条件的逻辑测试。
1、文件测试
文件测试指的是根据给定的路径名称,判断对应的是文件还是目录,或者判断文件是否可读、
可写、可执行等。文件测试的常见操作选项如下,使用时将测试对象放在操作选项之后即可。
test文件测试选项含义: |
|
-d |
测试是否为目录(Directory)。 |
-e |
测试目录或文件是否存在(Exist)。 |
-f |
测试是否为文件(File)。 |
-r |
测试当前用户是否有权限读取(Read)。 |
-w |
测试当前用户是否有权限写入(Write)。 |
-x |
测试是否设置有可执行(Excute)权限。 |
-b |
测试是否为设备文件。 |
-c |
测试是否为字符设备文件。 |
-s |
测试存在且文件大小为空。 |
-L |
测试是否为链接文件(软链接) |
-nt |
判断文件A是否比文件B新 |
-ot |
判断文件A是否比文件B旧 |
-ef |