一、test指令简介
test命令是Linux/Unix中一个用来判断文件类型和比较字符的指令,在Shell脚本中使用极为广泛。test命令可以用来做数值比较、字符串比较、文件属性比较等操作。
二、test指令用法示例
1. 数值比较示例
使用test命令可以对数值进行比较,包括小于、小于等于、大于、大于等于、等于和不等于等操作。下面是一个示例:
#!/bin/bash a=10 b=20 if test $a -eq $b then echo "a等于b" else echo "a不等于b" fi
输出结果:
a不等于b
2. 字符串比较示例
使用test命令也可以对字符串进行比较,包括相等、不相等、小于和大于等操作。下面是一个示例:
#!/bin/bash str1="hello" str2="world" if test $str1 != $str2 then echo "str1不等于str2" else echo "str1等于str2" fi
输出结果:
str1不等于str2
3. 文件属性比较示例
使用test命令也可以对文件属性进行比较,包括文件是否存在、是否为目录、是否为普通文件、是否可读、是否可写、是否可执行等操作。下面是一个示例:
#!/bin/bash file="/etc/passwd" if test -e $file then echo "文件存在" else echo "文件不存在" fi
输出结果:
文件存在
三、test指令常用选项
test命令的常用选项如下表所示:
选项 | 含义 |
---|---|
-e | 判断文件是否存在 |
-d | 判断文件是否为目录 |
-f | 判断文件是否为普通文件 |
-r | 判断文件是否可读 |
-w | 判断文件是否可写 |
-x | 判断文件是否可执行 |
-z | 判断字符串是否为空 |
-n | 判断字符串是否非空 |
-eq | 判断数值是否相等 |
-ne | 判断数值是否不相等 |
-lt | 判断数值是否小于 |
-le | 判断数值是否小于等于 |
-gt | 判断数值是否大于 |
-ge | 判断数值是否大于等于 |
四、总结
test命令是Linux/Unix下非常常用的一个指令,可以用来进行数值比较、字符串比较、文件属性比较等操作,运用灵活方便,它在Linux/Unix系统中的Shell编程中是一个比较重要的工具,熟练掌握使用test命令将会让你的Shell脚本编程更加得心应手。