shell脚本专题-----数学运算(三)

在shell环境中,可以使用let,(()),[]执行基本的算术计算.进行高级操作时,expr和bc也会经常使用.
直接看例子:

#!/bin/bash

# shell中变量默认都是字符串,我们可以使用一些方法让它能像数字一样进行运算
number1=10;
number2=20;

# 1.let命令可以直接进行算数操作,当使用let命令的时候,变量名前面不需要加上$
let result=number1+number2;
echo "number1+number2 = $result"

# 自加和自减操作
let result--
let result++
echo "result自加和自减操作以后的数值: $result"

# 2.操作符[]的使用方法和let相似
result2=$[number1+number2]
echo "[]操作演示: $result2"

# 3.(()) 的使用, 变量名之前需要加上$
result3=$(($number1 + 10))
echo "(()) 操作演示: $result3"

# 4.expr操作也可以对整数进行操作,不支持浮点数的计算
expr1=`expr 3 + 10`   # 注意操作符前后都有空格
echo "expr 演示, `expr 3+10` : $expr1"

# 5.bc是一个用于数学计算的高级工具,可以使用他执行浮点数的计算
echo "4 *10.251" | bc

# 6.bc操作进行进制转换
no=100
echo "100转换为二进制为: "
echo "obase=2;$no" | bc

# 二进制转换为10进制
echo "obase=10;ibase=2;$no" | bc

#计算平方及其平方根
echo -n "1000的平方根: "
echo "sqrt(1000)" | bc
echo -n "10的10次方为: "
echo "10 ^ 10" | bc

输出如下:

number1+number2 = 30
result自加和自减操作以后的数值: 30
[]操作演示: 30
(()) 操作演示: 20
expr 演示, 3+10 : 13
41.004
100转换为二进制为: 
1100100
4
1000的平方根: 31
10的10次方为: 10000000000


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201022235707220.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_#!/bin/bash

shell中变量默认都是字符串,我们可以使用一些方法让它能像数字一样进行运算

number1=10;
number2=20;

1.let命令可以直接进行算数操作,当使用let命令的时候,变量名前面不需要加上$

let result=number1+number2;
echo “number1+number2 = $result”

自加和自减操作

let result–
let result++
echo “result自加和自减操作以后的数值: $result”

2.操作符[]的使用方法和let相似

result2=$[number1+number2]
echo “[]操作演示: $result2”

3.(()) 的使用, 变量名之前需要加上$

result3= ( ( (( ((number1 + 10))
echo “(()) 操作演示: $result3”

4.expr操作也可以对整数进行操作,不支持浮点数的计算

expr1=expr 3 + 10 # 注意操作符前后都有空格echo “expr 演示, expr 3+10 : $expr1”

5.bc是一个用于数学计算的高级工具,可以使用他执行浮点数的计算

echo “4 *10.251” | bc
10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hvbmdnZV9zbWlsZQ==,size_16,color_FFFFFF,t_70#pic_center)
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/hongge_smile/article/details/109233410