运算符
-
基本语法:$((运算式)) 或$[运算式] -
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
```
shell条件判断
- 基本语法:
[ 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
notok
shell流程控制
- 基本语法:
if [ 条件判断式 ];then
程序
fi
或者
if [ 条件判断式 ]
then
程序
fi
- [ 条件判断式 ],中括号和条件判断式之间必须有空格
- if 后要有空格
|