全国咨询热线:18720358503

shell 基本测算、逻辑性计算、位计算详细说明

类别:媒体报道 发布时间:2021-03-16 浏览人次:

海纳建网站系统软件cms    点一下:96  归属于:linux shell
下列面的文件格式出示计算表述式:$(( expression ))

$ echo $((5*(3+3)))
30
$ result = $(($myvar-10))

shell出示便捷的数中间的进制变换:
$ echo $((013))#八进制
$ echo $((0xA4))#十六进制

还能够应用下列文件格式特定 2 到 64 中间的随意进制:
$((BASE#NUMBER))
echo $((8#377))
echo $((16#D8))

在 Shell 中开展进制变换的另外一个技巧是应用 bc, 它是一种随意精密度计算語言,大多数数 UNIX 安裝程序都出示。由于它容许您特定輸出进制,因此当您必须以十进制之外的进制輸出时,它是一种非常好的技术性。
bc 的独特自变量 ibase 和 obase 各自包括用以键入和輸出的进制的值。默认设置状况下,都被设定为 10。要实行进制变换,必须更改在其中的一个或2个值,随后出示一数量字。

拷贝编码 编码以下:
$ echo 'obase=16; 47' | bc
2F
$ echo 'obase=10; ibase=16; A03' | bc
2563


掌握了这种基本特点,下面再看一下逻辑性计算符和逻辑性表述式,基本的 + C * / % 已不过多阐释。

一、逻辑性计算符


非空标识符串
二、逻辑性表述式

test 指令

应用方式:test EXPRESSION
如:
[ ~]# test 1 = 1 && echo ‘ok'
ok
[ ~]# test -d /etc/ && echo ‘ok'
ok
[ ~]# test 1 -eq 1 && echo ‘ok'
ok
[ ~]# if test 1 = 1 ; then echo ‘ok'; fi
ok

留意:全部标识符 与逻辑性计算符立即用“空格符”分离,不可以连到一起。

精减表述式

[] 表述式
[ ~]# [ 1 -eq 1 ] && echo ‘ok'
ok
[ ~]# [ 2 1 ] && echo ‘ok'
-bash: 2: No such file or directory
[ ~]# [ 2 1 ] && echo ‘ok'
[ ~]# [ 2 -gt 1 -a 3 -lt 4 ] && echo ‘ok'
ok
[ ~]# [ 2 -gt 1 && 3 -lt 4 ] && echo ‘ok'
-bash: [: missing `]‘
留意:在[] 表述式中,普遍的 , 必须加转义标识符,表明标识符串尺寸较为,以acill码 部位做为较为。 不立即适用 计算符,也有逻辑性计算符|| && 它必须用-a[and] Co[or]表明
[[]] 表述式
[ ~]# [ 1 -eq 1 ] && echo ‘ok'
ok[ ~]$ [[ 2 3 ]] && echo ‘ok'
ok
[ ~]$ [[ 2 3 & 5 ]] && echo ‘ok'
ok

留意:[[]] 计算符仅仅[]计算符的扩大。可以适用 , 标记计算不用转义符,它還是以标识符串较为尺寸。里边适用逻辑性计算符:|| &&

三、特性较为

bash的标准表述式中有三个基本上等效电路的标记和指令:test,[]和[[]]。一般,大伙儿习惯性用if [];then那样的方式。而[[]]的出現,依据ABS常说,是以便适配 这类的计算符。下列是较为他们特性,发觉[[]]是更快的。

$ time (for m in {1..100000}; do test -d .;done;)
real 0M0.658s
user 0M0.558s
sys 0M0.100s

$ time (for m in {1..100000}; do [ -d . ];done;)
real 0M0.609s
user 0M0.524s
sys 0M0.085s

$ time (for m in {1..100000}; do [[ -d . ]];done;)
real 0M0.311s
user 0M0.275s
sys 0M0.036s

不考虑到对低版本号bash和对sh的适配的状况下,用[[]]是适配性强,并且特性较为快,在做标准计算情况下,可使用该计算符。

四、按位实际操作计算符


value=10^3 10按位异或3,value数值9
注: 针对按位非,若求“~a”则結果为-(a+1)举一个详尽事例:求“~8”剖析因为测算机一般
用补码开展标记计算,[[x]补]补=[x]因此
则8的二进制为 求非为
求反码为1001000求补码为1001001因此最终的結果为1001001,~8 即是-9。

推荐阅读

shell 基本测算、逻辑性计算、位计算详细说明

海纳建网站系统软件cms 点一下:96 归属于:linux shell下列面的文件格式出示计算表述式:$(( expression )) $ echo $((5*(3+3))) 30 $ result = $(($myvar-10)) shell出示便捷的数中间的进制变换: $ echo ...

2021-03-16
网站建设网页页面制作方法

Dreamweaver 安裝程序会在左右文选单提升一个 Edit with Dreamweaver 指令,大家还能够改动 Windows 的申请注册表使它与 IE 集成化。就象 MS Word 、 Frontpage 和 Notepad 一样,根据 IE 专用工具栏的编...

2021-03-16
微软公司创立四十年,种下期待便会获得

微软公司创立四十年,种下期待便会获得time: April 13, 2016post: by creative & idealMICROSOFT WAS FOUNDED FOUR YEARS, PLANTED HOPE WILL REAP在 40 年以前的今日,刚从哈佛大学高校休学的比尔 盖茨和他的普通...

2021-03-16
建网站模版数量【1425】/ 展现类模版【1170】/ 商

模版总数表明建网站模版数量【1425】展现类模版【1170】商城系统类模版【321】-----------------------------轻站微信小程序模版数量:【320】预定:【117】官方网站:【203】---------------------...

2021-03-16
缤纷1917官方网站基本建设

Project Description武汉市第一家将硬装及软装设计总体配搭设计方案的核心理念结合至实践活动。并致力于于中、高档软装设计设计方案及市场销售,解决传统式家居装修企业的前无论后的...

2021-03-16
政府部门无障网页页面设计方案、无障网站建设

公司网站为何要做下新闻报道新闻资讯频道呢?缘故非常简单,除开散播公司见解和主题活动之外,较大实际意义取决于网站的SEO提升营销推广,实际上这全是互联网营销推广的一种方...

2021-03-16
X

400-8700-61718720358503
企业邮箱2639601583@qq.com
官方微信