shell
bash中如何实现条件判断
- 条件测试类型
- 整数测试
- 字符测试
- 文件测试
- 条件测试的表达式
- [ expresssion ]
- [[ expresssion ] ]
- test expresssion
- 整数比较
- -eq: 测试两个整数是否相等;比如
$A -eq $B
- -ne: 测试两个整数是否不等;不等,为真;相等,为假;
- -gt: 测试一个数是否大于另一个数;大于,为真;否则,为假;
- -lt: 测试一个数是否小于另一个数;小于,为真;否则,为假;
- -ge: 大于或等于
- -le:小于或等于
- -eq: 测试两个整数是否相等;比如
- 命令的间逻辑关系
- 逻辑与: &&
- 逻辑或: ||
- 文件测试
- -e FILE:测试文件是否存在
- -f FILE: 测试文件是否为普通文件
- -d FILE: 测试指定路径是否为目录
- -r FILE: 测试当前用户对指定文件是否有读取权限;
- -w
- -x
- 字符测试
- ==
- !=
- >
- <
- -n string: 测试指定字符串是否为空,空则真,不空则假
- -z string: 测试指定字符串是否为不空,不空则真,空则假
- 组合测试条件
- a: 与关系
- o: 或关系
- !: 非关系
shell中如何进行算数运算
let
算术运算表达式
let c=$a+$b
$[算术运算表达式]
c=$[$a+$b]
$((算术运算表达式))
c=$(($a+$b))
expr
算术运算表达式,表达式中各操作数及运算符之间要有空格,而且要使用命令引用
c=`expr $a+$b`
条件判断,控制结构
- 单分支if语句
if 判断条件; then statement1 statement2 ..... fi
- 双分支的if语句
if 判断条件; then statement1 statement1 else statement3 statement4 fi
- 多分支的if语句
if 判断条件1; then statement1 ... elif 判断条件2; then statement2 ... elif 判断条件3; then statement3 ... else statement4 ... fi
bash变量的类型
- 本地变量(局部变量)
- 环境变量
- 位置变量
$1,$2,$3,....
shift - 特殊变量
- $?
- $#: 参数的个数
- $*: 参数列表
- $@: 参数列表