文章目录
一、条件测试
1.1.test 命令
- 测试表达式是否成立,若成立返回0,否则返回其他数值
命令格式1:test 条件表达
命令格式1:[ 条件表达式 ]
方括号两边与条件表达式之间一定要用空格分隔,否则会执行失败。
- 检查最后所执行命令的状态的最简便方法是使用 $? 查看
1.2.文件测试
使用 test 命令进行 文件测试,可以用来判断 对应的是文件还是目录,或者判断是否有相应的权限等。
命令格式:[ 操作符 文件或目录 ]
# 注意[ ]要有空格
常用的操作符 | 功能 |
---|---|
-d | 测试是否为目录(Directory) |
-e | 测试目录或文件是否存在(Exist) |
-f | 测试是否为文件(File) |
-r | 测试当前用户是否有权限读取(Read) |
-w | 测试当前用户是否有权限写入(Write) |
-x | 测试当前用户是否有权限执行(Excute) |
-L | 测试是否是软链接(符号链接)文件 |
案例:
1.3.整数值比较
- 用于比较两个整数值的大小。
- $() 和 反撇号 是用来提取里面命令的执行结果。
命令格式:[ 整数变量1 操作符 整数变量2 ]
常用的操作符 | 作用 | 符号 |
---|---|---|
-eq | 等于 | == |
-ne | 不等于 | != |
-gt | 大于 | /> |
-lt | 小于 | /< |
-ge | 大于等于 | ≥ |
-le | 小于等于 | ≤ |
实例:
如果当前登录系统的用户数量大于等于$a,进行输出提示。
判断主内存空闲是否小于1024M
free
命令显示系统使用和空闲的内存情况,-m 选项显示内存的单位为 M。Mem是存,swap 是交换分区内存。
先获取当前内存的值(主内存空闲是指:Mem 内存行的 free 列的值),交给一个变量,再用这个变量来比较。