位置: 编程技术 - 正文

shell 基本计算、逻辑运算、位运算详解(shell 计算表达式)

编辑:rootadmin
以下面的格式提供运算表达式:$(( expression )) $ echo $((5*(3+3))) $ result = $(($myvar-)) shell提供方便的数之间的进制转换: $ echo $(())#八进制 $ echo $((0xA4))#十六进制 还可以使用以下格式指定 2 到 之间的任意进制: $((BASE#NUMBER)) echo $((8#)) echo $((#D8)) 在 Shell 中进行进制转换的另一个诀窍是使用 bc, 它是一种任意精度运算语言,大多数 UNIX 安装程序都提供。因为它允许您指定输出进制,所以当您需要以十进制以外的进制输出时,这是一种很好的技术。 bc 的特殊变量 ibase 和 obase 分别包含用于输入和输出的进制的值。缺省情况下,都被设置为 。要执行进制转换,需要改变其中的一个或两个值,然后提供一个数字。 了解了这些基本特性,下边再看看逻辑运算符和逻辑表达式,基本的 + ? * / % 不再赘述。 一、逻辑运算符 逻辑卷标表示意思1.关于档案与目录的侦测逻辑卷标!-f常用!侦测『档案』是否存在 eg: if [ -f filename ]-d常用!侦测『目录』是否存在-b侦测是否为一个『 block 档案』-c侦测是否为一个『 character 档案』-S侦测是否为一个『 socket 标签档案』-L侦测是否为一个『 symbolic link 的档案』-e侦测『某个东西』是否存在!2.关于程序的逻辑卷标!-G侦测是否由 GID 所执行的程序所拥有-O侦测是否由 UID 所执行的程序所拥有-p侦测是否为程序间传送信息的 name pipe 或是 FIFO (老实说,这个不太懂!)3.关于档案的属性侦测!-r侦测是否为可读的属性-w侦测是否为可以写入的属性-x侦测是否为可执行的属性-s侦测是否为『非空白档案』-u侦测是否具有『 SUID 』的属性-g侦测是否具有『 SGID 』的属性-k侦测是否具有『 sticky bit 』的属性4.两个档案之间的判断与比较 ;例如[ test file1 -nt file2 ]-nt第一个档案比第二个档案新-ot第一个档案比第二个档案旧-ef第一个档案与第二个档案为同一个档案( link 之类的档案)5.逻辑的『和(and)』『或(or)』&&逻辑的 AND 的意思||逻辑的 OR 的意思运算符号代表意义=等于 应用于:整型或字符串比较 如果在[] 中,只能是字符串!=不等于 应用于:整型或字符串比较 如果在[] 中,只能是字符串<小于 应用于:整型比较 在[] 中,不能使用 表示字符串>大于 应用于:整型比较 在[] 中,不能使用 表示字符串-eq等于 应用于:整型比较-ne不等于 应用于:整型比较-lt小于 应用于:整型比较-gt大于 应用于:整型比较-le小于或等于 应用于:整型比较-ge大于或等于 应用于:整型比较-a双方都成立(and) 逻辑表达式 ?a 逻辑表达式-o单方成立(or) 逻辑表达式 ?o 逻辑表达式-z空字符串-n非空字符串二、逻辑表达式 test 命令 使用方法:test EXPRESSION 如: [root@localhost ~]# test 1 = 1 && echo ‘ok' ok [root@localhost ~]# test -d /etc/ && echo ‘ok' ok [root@localhost ~]# test 1 -eq 1 && echo ‘ok' ok [root@localhost ~]# if test 1 = 1 ; then echo ‘ok'; fi ok 注意:所有字符 与逻辑运算符直接用“空格”分开,不能连到一起。 精简表达式 [] 表达式 [root@localhost ~]# [ 1 -eq 1 ] && echo ‘ok' ok [root@localhost ~]# [ 2 < 1 ] && echo ‘ok' -bash: 2: No such file or directory [root@localhost ~]# [ 2 < 1 ] && echo ‘ok' [root@localhost ~]# [ 2 -gt 1 -a 3 -lt 4 ] && echo ‘ok' ok [root@localhost ~]# [ 2 -gt 1 && 3 -lt 4 ] && echo ‘ok' -bash: [: missing `]‘ 注意:在[] 表达式中,常见的>,<需要加转义字符,表示字符串大小比较,以acill码 位置作为比较。 不直接支持<>运算符,还有逻辑运算符|| && 它需要用-a[and] ?o[or]表示 [[]] 表达式 [root@localhost ~]# [ 1 -eq 1 ] && echo ‘ok' ok[root@localhost ~]$ [[ 2 < 3 ]] && echo ‘ok' ok [root@localhost ~]$ [[ 2 < 3 && 4 > 5 ]] && echo ‘ok' ok 注意:[[]] 运算符只是[]运算符的扩充。能够支持<,>符号运算不需要转义符,它还是以字符串比较大小。里面支持逻辑运算符:|| && 三、性能比较 bash的条件表达式中有三个几乎等效的符号和命令:test,[]和[[]]。通常,大家习惯用if [];then这样的形式。而[[]]的出现,根据ABS所说,是为了兼容><之类的运算符。以下是比较它们性能,发现[[]]是最快的。 $ time (for m in {1..}; do test -d .;done;) real 0m0.s user 0m0.s sys 0m0.s $ time (for m in {1..}; do [ -d . ];done;) real 0m0.s user 0m0.s sys 0m0.s $ time (for m in {1..}; do [[ -d . ]];done;) real 0m0.s user 0m0.s sys 0m0.s 不考虑对低版本bash和对sh的兼容的情况下,用[[]]是兼容性强,而且性能比较快,在做条件运算时候,可以使用该运算符。 四、按位操作运算符 运算符名称举例解释value的值<<左移value=4>>左移2位,value值为>>右移value=8<<右移2位,value值为2&按位与value=8&&按位与4,value值为0|按位或value=8|按位或4,value值为~按位非value=~8按位非8,value值为-9^按位异或value=^按位异或3,value值为9注: 对于按位非,若求“~a”则结果为-(a+1)举一个详细例子:求“~8”分析由于计算机通常 用补码进行符号运算,[[x]补]补=[x]所以 则8的二进制为 求非为 求反码为求补码为所以最后的结果为,~8 即为-9。

推荐整理分享shell 基本计算、逻辑运算、位运算详解(shell 计算表达式),希望有所帮助,仅作参考,欢迎阅读内容。

shell 基本计算、逻辑运算、位运算详解(shell 计算表达式)

文章相关热门搜索词:shell中的计算,shell计算命令,shell脚本计算,shell 算数计算,shell 计算表达式,shell 计算表达式,shell中的计算,shell 算数计算,内容如对您有帮助,希望把文章链接给更多的朋友!

hbase shell基础和常用命令详解 HBase是GoogleBigtable的开源实现,它利用HadoopHDFS作为其文件存储系统,利用HadoopMapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务。1.简介HBase是一

shell 中数学计算总结 1、错误方法举例a)var=1+1echo$var输出的结果是1+1,悲剧,呵呵b)var=1var=$var+1echo$var输出结果是1+1,依然悲剧,呵呵2、正确方法1)使用letvar=1let"var+=1"echo$var输

shell 字符串操作(长度,查找,替换)详解 工作中字符串操作举例filename='/home/admin/jobs/CnClickstat/DFSLoader/loader.cfg'#下面是使用shell字符串操作buName1=${filename#*/jobs/}#去除'/home/admin/jobs/CnClickstat/DFSLoader/

标签: shell 计算表达式

本文链接地址:https://www.jiuchutong.com/biancheng/378331.html 转载请保留说明!

上一篇:关于Shell脚本效率优化的一些个人想法(shell脚本用法)

下一篇:hbase shell基础和常用命令详解(hbase shell split)

  • 企业税后利润留用比例怎么算?
  • 上个月发票忘记开了怎么办
  • 负数增长到正数的例子
  • 社保代扣代缴怎么取消
  • 服务行业适用什么核算
  • 收到的增值税
  • 房产原值怎么计算房产面积
  • 净资产出资账务处理流程
  • 建筑行业如何结合个人例子写论文
  • 药店的成本费用有哪些
  • 固定资产所取得的成本
  • 有一个月忘了报税怎么处理
  • 企业交的房产税在哪打印税单
  • 代理进口一般几个点费用
  • 如何区分劳务报酬
  • 附加税水利行政事业是否取消?
  • 税务稽查执法要以什么为依据,按照法定的职责
  • 资产负债表里应交税费里都包含什么
  • 公司招聘费属于什么科目
  • 生产要素和资源的区别和联系
  • 小规模所得税申报表填写样本
  • 待摊费用在资产负债表中怎么填
  • 纳税期限变更需要什么
  • 建筑完税怎么计算
  • 腾讯电脑管家游戏模式
  • 什么叫冲减进项税额
  • 认证未抵扣往哪里记
  • 如何处理企业所得税纠纷
  • Win11 Build 22454.1000 开发者预览版发布(附更新修改已知问题+安装)
  • win11无法安装程序包
  • PHP:spl_autoload_call()的用法_spl函数
  • 不动产租赁费计入什么科目
  • 最贵的苹果4
  • 在职职工医疗保障计划互助金多久发一次
  • 餐饮业原料采购都包括哪些
  • php中session和cookie
  • php 微信公众号自定义菜单
  • linux rc.d init.d
  • 公司没有车,加柴油票可以抵扣增值税吗
  • 商业银行贷款业务按担保形式分,可分为( )
  • python生成器定义
  • 增值税价税合计怎么填
  • 物业费税目
  • 小规模纳税人开专票需要交税吗
  • 社保缴费基数是怎么确定的
  • 公司基本户可以注销吗
  • python2.7读取文件
  • 织梦自定义字段
  • 个别计价法下,把每一种存货的实际成本
  • 受疫情影响较大的困难行业企业2020
  • 资本化支出计入什么科目
  • 固定资产已经超额融资了还能发放置换贷款吗
  • 财务会计期末总结
  • 固定资产的主要特征
  • 2021会计实操视频
  • 应收账款的账户余额
  • sqlserver按时间段导出数据
  • mysql 5.7.24安装
  • win7旗舰版激活期限已过
  • sata驱动怎么装
  • windows注销登录会怎样
  • win10彻底恢复出厂设置
  • win10推送win11
  • 各种linux系统比较
  • opengl 生成图片
  • jquery关闭当前页面
  • android游戏开发用什么语言
  • android系统介绍
  • asp.net runat
  • 简述JavaScript中全局变量与局部变量的作用域
  • javascript.
  • JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)
  • jQuery中通过ajax调用webservice传递数组参数的问题实例详解
  • 陕西省国家税务总局班子成员
  • 定额发票属于什么类型
  • 车辆退款
  • 超市一般纳税人做账流程
  • 企业交社保可以退税吗
  • 增值税劳务费发票图片
  • 医保电子凭证怎么激活
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设