Shell(四)

运算符

  1. 基本语法:$((运算式))$[运算式]

  2. expr + , - , \*, /, % 加,减,乘,除,取余,expr运算符间要有空格

  3. 应用案例:

    1. 计算3+3
    [root@centOS bin]# expr 2 + 3
    5
    
    1. 计算3-2的值
    [root@centOS bin]# expr 3-2
    1
    
    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条件判断

  1. 基本语法:[ condition ]注意:condition前后要有空格
  2. 条件非空即为true,[ ryx ] 返回true ,[] 返回false
  3. 常用的判断条件
    1. = 字符串之间比较
    2. 两个整数之间比较
      1. -lt 小于(less than)
      2. -le 小于等于(less equal)
      3. -eq 等于(equal)
      4. -gt 大于(greater than)
      5. -ge 大于等于(greater equal)
      6. -ne 不等于(Not equal)
    3. 按照文件权限进行判断
      1. -r 有读的权限
      2. -w 有写的权限
      3. -x 有执行的权限
    4. 按照文件类型进行判断
      1. -f 文件存在并且式一个常规文件(file)
      2. -e 文件存在(existence)
      3. -d 文件存在并且式一个目录(directory)
  4. 判断23是否大于等于22
    	[root@centOS bin]# [ 23 -ge 22 ]
    	[root@centOS bin]# echo $?
    	0
    	```
    
  5. ryx.sh是否具有写的权限
[root@CentOS bin]# [ -w ryx.sh ]
[root@CentOS bin]# echo $?
0
[root@CentOS bin]# 
  1. /home/bin/ryx/sh 目录是否存在
[root@CentOS bin]# [ -e /home/bin/ryx.sh ]
[root@CentOS bin]# echo $?
1
[root@CentOS bin]# 
  1. 多条件判断(&& 表示前一条命令执行成功时才执行后一条命令,|| 表示上一条命令执行失败后,才执行下一条命令)
[root@CentOS bin]# [ condition ] && echo OK || echo notok
OK 
[root@CentOS bin]# [ condition ] && [ ] || echo notok
notok

shell流程控制

  1. 基本语法:
if [ 条件判断式 ];then 
  程序 
fi 
或者 
if [ 条件判断式 ] 
  then 
    程序 
fi
  1. [ 条件判断式 ],中括号和条件判断式之间必须有空格
  2. if 后要有空格

猜你喜欢

转载自blog.csdn.net/qq_43408367/article/details/120643367
今日推荐