条件测试
字符串测试
操作符 | 含义 |
---|---|
字符串测试 | |
string1 = string2 | 测试两个字符串是否相等 |
-n string | 判断是否为空串 |
-z | 测试string是否为非空 |
整数测试 | |
number1 -eq number2 | 比较number1和number2是否相等 |
-ne | 比较两个数字是否不相等 |
-gt | 大于 |
-lt | 小于 |
-ge | 大于等于 |
-le | 小于等于 |
文件测试 | |
-a file | 文件是否存在 |
-d | 是否为目录 |
-x | 是否为可执行文件 |
-f | 是否为常规文件 |
示例:
#! /bin/bash
# 一般使用的if判断语句
if [ -f /bin/bash ]
then echo "test"
fi
# 写在一行也可以 使用;进行分割
if [ -f/bin/bash ]; then echo "123"; fi
# 表示状态码为0 一直为真
if :;
then echo "always true"
fi
# 使用 && 来代替if判断
# 这句话表示 使用test测试语句 首先判断前边的exression是否成立 如果成立 执行括号内的语句
test "$(whoami)" != "root" && (echo you are using a non-privileged; exit 1)
# if then基本语句的使用
echo "please enter a number:"
read num
if [ "$num" -gt 10 ];
then echo " the number is greater than 10"
else
echo "the number is equal to less than 10"
fi
#case 基本语句的用法
echo "hit a key,then hit reutrn"
read keypress
case "$keypress" in
[[:lower:]]) # 可以用来表示所有的小写字母
echo "lowercase letter";;
[[:upper:]])
echo "uppercase letter";;
[0-9])
echo "digit";;
*)
echo "other";;
esac
# exit 1 #退出 返回状态码1