数学比较运算
| 演示 | 解释 |
|---|---|
| -eq | 等于 |
| -gt | 大于 |
| -lt | 小于 |
| -ge | 大于或等于 |
| -le | 小于或等于 |
| -ne | 不等于 |
#!/bin/bash
NUM1=`echo "1.5*10"|bc|cut -d "." -f1` #shell对小数点并不友好
NUM2=$((2*10))
test $NUM1 -gt $NUM2;echo $?
[root@flag ~]# bash -x x.sh
++ echo '1.5*10'
++ bc
++ cut -d . -f1
+ NUM1=15
+ NUM2=20
+ test 15 -gt 20
+ echo 1
1
文件比较和检查
| 演示 | 解释 |
|---|---|
| -d | 检查文件是否存在且为目录(目录) |
| -e | 检查文件是否存在(目录或文件,名字对就行) |
| -f | 检查文件是否存在且为文件(文件) |
| -r | 检查文件是否存在且可读 |
| -s | 检查文件是否存在且不为空(用echo为空,第一行是空行,需要dd删除) |
| -w | 检查文件是否且可写 |
| -x | 检查文件是否存在且可执行 |
| -O | 检查文件是否存在并且被当前用户拥有 |
| -G | 检查文件是否存在并且默认组为当前用户组 |
| file -nt file2 | 检查file1是否比file2新(对比最新修改时间,stat命令可查看) |
| file1 -ot file2 | 检查file1是否比file2旧(对比最新修改时间,stat命令可查看) |
-ef(通过i节点判断是否是同一个文件,硬链接)(ls -il查看)
test [选项] 目录文件;echo $? (不建议用root测试)
字符串比较运算
| 演示 | 解释 |
|---|---|
| == | 等于 |
| != | 不等于 |
| -n | 检查字符串的长度是否大于0(是否不为空) |
| -z | 检查字符串的长度是否为0(是否为空) |
赋值运算
| = | 赋值运算符(a=10,NAME=666) |
|---|
逻辑运算
逻辑与运算 &&
逻辑或运算 ||
逻辑非运算 !
逻辑运算注意事项:
逻辑与 或 运算都需要两个以上条件,逻辑非运算只能一个条件。
口诀: 逻辑与运算 真真为真 真假为假 假假为假
逻辑或运算 真真为真 真假为真 假假为假
逻辑非运算 非假为真 非真为假
445

被折叠的 条评论
为什么被折叠?



