shell算术运算

网友投稿 887 2023-02-11

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

shell算术运算

1、bc计算

1
2
bc_test=`echo10+1|bc`
file_size=`echo${data_size[${i}]}+${index_size[${i}]}|bc`

根据不同系统可能遇到如下错误

1
2
3
4
5
6
7
8
9
(standard_in)1:illegal character:N
(standard_in)1:illegal character:U
(standard_in)1:illegal character:L
(standard_in)1:illegal character:L
(standard_in)1:syntax error
(standard_in)1:illegal character:N
(standard_in)1:illegal character:U
(standard_in)1:illegal character:L
(standard_in)1:illegal character:L

2、expr计算

1
2
expr_text=`expr1+1`
file_size=`expr${data_size[${i}]}+${index_size[${i}]}`

可能遇到错误如下

1
expr:non-integerargument

3、$(( ))计算

1
file_size=$((${data_size[${i}]}+${index_size[${i}]}))

并且可以进行进制转换十六进制转十进制:

1
2
3
4
5
6
[root@localhost~]$((num=0xff));
[root@localhost~]$echo$num;
255
[root@localhost~]$((num=16#ff));
[root@localhost~]$echo$num;
255

base-32转十进制:

1
2
3
[root@localhost~]$((num=32#ffff));
[root@localhost~]$echo$num;
507375

base64转十进制:

1
2
3
[root@localhost~]$((num=64#abc_));
[root@localhost~]$echo$num;
2667327

二进制转十进制

1
2
3
[root@localhost~]$((num=2#11111111));
[root@localhost~]$echo$num;
255

十进制转八进制这里使用到:bc外部命令完成。bc命令格式转换为:echo “obase=进制;值”|bc

1
2
[root@localhost~]$echoobase=8;01234567|bc
4553207

二进制,十六进制,base64转换为 十进制也相同方法。

1
2
[root@localhost~]$echoobase=64;123456|bc
300900
上一篇:ai智能运维交互(AI智能交互)
下一篇:关于系统性能测试怎么使用的信息
相关文章

 发表评论

评论列表