- 运算符
- shell条件判断
- shell流程控制
-
基本语法:$((运算式))或$[运算式]
-
expr + , - , *, /, % 加,减,乘,除,取余,expr运算符间要有空格
-
应用案例:
- 计算3+3
[root@centOS bin]# expr 2 + 3 5
- 计算3-2的值
[root@centOS bin]# expr 3-2 1
- 计算(2+3)* 4 的值
[root@centOS bin]# expr `expr 2+3` *4 20 ``` 4. 采用$[运算式]方式 ```c [root@centOS bin]# S=$[(2+3)*4] [root@centOS bin]# echo $S 20 ```
- 基本语法:[ condition ]注意:condition前后要有空格
- 条件非空即为true,[ ryx ] 返回true ,[] 返回false
- 常用的判断条件
- = 字符串之间比较
- 两个整数之间比较
- -lt 小于(less than)
- -le 小于等于(less equal)
- -eq 等于(equal)
- -gt 大于(greater than)
- -ge 大于等于(greater equal)
- -ne 不等于(Not equal)
- 按照文件权限进行判断
- -r 有读的权限
- -w 有写的权限
- -x 有执行的权限
- 按照文件类型进行判断
- -f 文件存在并且式一个常规文件(file)
- -e 文件存在(existence)
- -d 文件存在并且式一个目录(directory)
- 判断23是否大于等于22
[root@centOS bin]# [ 23 -ge 22 ] [root@centOS bin]# echo $? 0 ```
- ryx.sh是否具有写的权限
[root@CentOS bin]# [ -w ryx.sh ] [root@CentOS bin]# echo $? 0 [root@CentOS bin]#
- /home/bin/ryx/sh 目录是否存在
[root@CentOS bin]# [ -e /home/bin/ryx.sh ] [root@CentOS bin]# echo $? 1 [root@CentOS bin]#
- 多条件判断(&& 表示前一条命令执行成功时才执行后一条命令,|| 表示上一条命令执行失败后,才执行下一条命令)
[root@CentOS bin]# [ condition ] && echo OK || echo notok OK [root@CentOS bin]# [ condition ] && [ ] || echo notok notokshell流程控制
- 基本语法:
if [ 条件判断式 ];then
程序
fi
或者
if [ 条件判断式 ]
then
程序
fi
- [ 条件判断式 ],中括号和条件判断式之间必须有空格
- if 后要有空格



