第六天:shell算术、逻辑运算及测试命令

一、算术运算

    SHELL允许在某些情况下对算术表达式进行求值;   bash  只支持整数,不支持小数

1、实现算术运算

  

 2、内建的随机数生成器变量

  $RANDOM   取值范围:0-32767

3、增强型赋值:let varOPERvalue

  

 二、逻辑运算

  

   与:&

  或:|

  非:!

  异或:^      相同为假,不同为真

1、 短路运算

  短路与  &&          CMD1  &&  CMD2     当1为真时,再计算2值; 当1为假时,结果为0,不再执行2

  短路或 ||

  短路与  和短路或  组合    :  CMD1  && CMD2   ||  CMD3            先执行与再执行或,反过来不使用。

三、条件测试命令

1、条件测试命令格式

  test   EXPRESSION

  [EXPRESSION]    和test等价,建议使用【】

  [[EXPRESSION]]   相当于增强版的【】,支持【】的用法 ,且支持扩展正则表达式和通配符

2、变量测试 

  【 -v  NAME】  判断NAME变量是否定义 

3、数值测试

  -eq  是否等于    ==

  -ne  是否不等于    !=

  -gt  是否大于    >

  -ge  是否大于等于  >=

  -lt  是否小于    <

  -le  是否小于等于  <=

 4、字符串测试

 5、文件测试

  

   

   

 四、关于()和{}

  (CMD1; CMD2;...)和{CMD1;CMD2; ....;}都可以将多个命令组合在一起,批量执行

  

 五、组合测试条件

 1、第一种方式

  

2、第二种方式

  

 

六、使用read命令来接受输入

  使用read来把输入值分配给一个或多个shell变量,read从标准输入中读取值,给每个单词分配一个变量,所有剩余单词都被分配给最后一个变量,如果变量名没有指定,默认标准输入的值赋值给系统内置变量REPLY

  格式:   

read  [options] [name...]

 常见选项:  

-p           指定要显示的提示
-s            静默输入, 一般用于密码
-n  N        指定输入的字符长度N
-d  '字符'   输入结束符
-t  N        TIMEOUT为N秒

 

posted @ 2024-01-14 19:37  djyhello  阅读(13)  评论(0编辑  收藏  举报