测试语句
test 条件表达式
[ 条件表达式 ]
格式注意:
以上两种方法的作用完全一样,后者为常用。
但后者需要注意方括号[、]与条件表达式之间至少有一个空格。
test跟 [] 的意思一样
条件成立,状态返回值是0
条件不成立,状态返回值是1
操作注意:
[]两侧要有空格,表达式中的符号左右要有空格
root@ubuntu:~# [ 1 = 1 ]
root@ubuntu:~# echo $?
0
root@ubuntu:~# test 1 = 1
root@ubuntu:~# echo $?
0
条件表达式
- 逻辑表达式
常见的逻辑表达式有: && 和 || # 雷同C 语言中 && 和||
- 文件表达式
-f 判断输入内容是否是一个文件
# [ -f weizhi.sh ] && echo "是一个文件"
是一个文件
# [ -f weizhi.sddh ] || echo "不是一个文件"
不是一个文件
-d 判断输入内容是否是一个目录
# [ -d weizhi.sddh ] || echo "不是一个目录"
不是一个目录
# mkdir nihao
# [ -d nihao ] && echo "是一个目录"
是一个目录
-x 判断输入内容是否可执行
# [ -x age.sh ] || echo "文件没有执行权限"
文件没有执行权限
# [ -x test.sh ] && echo "文件有执行权限"
文件有执行权限
数值操作符
主要根据给定的两个值,判断第一个与第二个数的关系,如是否大 于、小于、等于第二个数。常见选项如下:
n1 -eq n2 相等
n1 -ge n2 大于或等于
n1 -gt n2 大于
n1 -le n2 小于等于
n1 -lt n2 小于
n1 -ne n2 不等于
字符串比较
str1 == str2 str1和str2字符串内容一致
str1 != str2 str1和str2字符串内容不一致,!表示相反的意思
计算表达式
定义:
计算表达式,简单来说就是对具体的内容进行算数计算
格式:
方式一: $(()) $(( 计算表达式 ))
方式二: let let 计算表达式
注意:$(())中只能用+-*/和()运算符,并且只能做整数运算
$(())演示效果
格式: a=$((变量名a+1))
注意:
表达式范围内,空格不限制
计算示例
root@ubuntu:~# echo $((100/5))
20
let演示效果
格式:let 变量名a=变量名a+1
注意:
表达式必须是一个整体,中间不能出现空格等特殊字符
let示例
root@ubuntu:~# i=1
root@ubuntu:~# let i=i+7
root@ubuntu:~# echo $i
8