1. 基本用法:
test expression
或者使用方括号:
[ expression ]
expression 是一个用于测试的表达式,可以包括文件测试、字符串比较、数值比较等。
2. 文件测试:
- 存在性测试:
[ -e file_path ]
- 目录测试:
[ -d directory_path ]
- 文件为空测试:
[ -s file_path ]
- 文件可读测试:
[ -r file_path ]
- 文件可写测试:
[ -w file_path ]
- 文件可执行测试:
[ -x file_path ]
3. 字符串比较:
- 相等:
[ str1 = str2 ]
- 不相等:
[ str1 != str2 ]
- 长度不为零:
[ -n str ]
- 长度为零:
[ -z str ]
4. 数值比较:
- 相等:
[ num1 -eq num2 ]
- 不相等:
[ num1 -ne num2 ]
- 大于:
[ num1 -gt num2 ]
- 小于:
[ num1 -lt num2 ]
- 大于等于:
[ num1 -ge num2 ]
- 小于等于:
[ num1 -le num2 ]
5. 逻辑运算:
- 与:
[ condition1 -a condition2 ]
- 或:
[ condition1 -o condition2 ]
- 非:
[ ! condition ]
6. 示例:
#!/bin/bash
# 文件测试
if [ -e "file.txt" ]; then
echo "File exists."
fi
# 字符串比较
str1="hello"
str2="world"
if [ "$str1" = "$str2" ]; then
echo "Strings are equal."
else
echo "Strings are not equal."
fi
# 数值比较
num1=5
num2=10
if [ $num1 -lt $num2 ]; then
echo "$num1 is less than $num2."
fi
这是一个简单的 test 命令的用法示例。可以根据具体的需求组合不同的测试条件。在实际脚本中,常常使用 [[ ... ]] 替代 [ ... ],因为后者是test 命令的一种语法糖,而 [[ ... ]] 是Shell的关键字,提供了更多功能和更直观的语法。
转载请注明出处:http://www.zyzy.cn/article/detail/3287/Linux