ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux shell脚本算术运算和逻辑运算

2022-06-16 18:03:51  阅读:161  来源: 互联网

标签:shell num 算术 999 echo 逻辑运算 Linux var 格式


算术运算

默认不支持算数运算。所以需要特定的语法来完成,

shell进行算数运算的工具:

  1. let
  2. declare
  3. (())或$(())或$[]
  4. bc

let:

格式: let var=算术表达式
例如:let num=1+20;echo $num

declare:

例如: declare -i var = 数值
declare -i num=1+5; echo $num

(())或$()或$[]

格式:

  • ((var=算术表达式))
  • var=$[算术表达式]
  • var=$((算术表达式))
  • var=$(expr arg1 arg2 arg3 ...)

范例:
((num=999+1));echo $num
echo num=$((999-1))
echo num=$[1+10]

bc:

格式:echo '算术表达式' | bc
例如:echo 999+999 | bc

生成随机数:$RANDOM   取值范围:0-32767

范例:生成0-49之间随机数: echo $[$RANDOM%50]
取余范围: # x % n 取余范围是 0 ~ n-1
例如:对100进行取模得到的值范围在0-99之间。

逻辑运算:与或非、异或

真:$? 为0    或者 二进制1
假:$? 不为0   或者 二进制0

  • 与:&
  • 或:|
  • 非:!
  • 异或:^(脱字符) -- 相同为假,不同为真

短路运算

  • 短路与 &&:前面为真才会执行后面的
  • 短路或 ||:前面为真后面的就不执行了

条件测试命令:

  • 格式一:test EXPRESSION
  • 格式二:[ EXPRESSION ]
  • 格式三:[[ EXPRESSION ]] --- 支持正则表达式和通配符
    注意:EXPRESSION前后必须有空白字符
    test和中括号等价

test功能:

测试文件的状态、类型、权限

文件权限判断选项:

-r:是否存在读权限
-x:是否存在执行权限
-w:是否存在写权限

文件类型判断:

-f:是否为文本文件
-d:是否为目录文件

文件状态判断:

-e:文件是否存在
-a:文件是否存在

字符串判断:

-z:字符串是否为空
= != > <:连个字符串是否相同、不同等。

数字之间的比较方法;

-eq: equal,相等
-ne: not-equal,不等
-gt: greater-than,大于
-lt:less-than,小于

标签:shell,num,算术,999,echo,逻辑运算,Linux,var,格式
来源: https://www.cnblogs.com/heyongshen/p/16382916.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有