在shell中进行数学运算
1. 整数运算
- 在shell中进行数学运算时,可以使用 $((运算)) , $[运算] 或者 let 来进行
- 以上命令结合以下运算符号可以进行各种整数运算
以上命令只能进行整数运算,不能进行小数运算
image.png
(base) [zhiyong@malab Learn]$ echo $((2**3)) #用$(( ))进行数学运算
8
(base) [zhiyong@malab Learn]$ echo $[1+3] #用$[ ]进行数学运算
4
(base) [zhiyong@malab Learn]$ let i=1+3; echo $i #用let进行数学运算
4
(base) [zhiyong@malab Learn]$ aa=2 #也可以先定义一个变量,然后用这个变量去进行后续的数学运算
(base) [zhiyong@malab Learn]$ let pp=aa**3
(base) [zhiyong@malab Learn]$ echo $pp
8
2. 小数运算
shell中的小数运算可以使用 bc 计算器进行
#交互式使用bc运算器
(base) [zhiyong@malab Learn]$ bc #在shell中打开bc运算器
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
1+12 #在bc计算器中进行加法运算
13
2^6
64
1.2*8.9 #在bc计算器中进行乘法运算
10.6
quit #退出bc运算器
#非交互式使用bc计算器
(base) [zhiyong@malab Learn]$ echo 1+1|bc #用bc计算1+1,并输出在屏幕上
2
(base) [zhiyong@malab Learn]$ echo "obase=2;5"|bc #输入十进制的5,输出三进制的相应数
101
(base) [zhiyong@malab Learn]$ echo "obase=3;11"|bc #输入十进制的5,输出三进制的相应数
102
(base) [zhiyong@malab Learn]$ echo "ibase=2;101"|bc #输入二进制的101,输出十进制的相应数
5
(base) [zhiyong@malab Learn]$ echo "ibase=4;23"|bc #输入四进制的23,输出十进制的相应数
11
(base) [zhiyong@malab Learn]$ echo "obase=4;2+5"|bc #用bc计算2+5,并输出其四进制对应数
13
- ibase 表示输入
- obase 表示输出
3.自加一运算
以下列举了六种自加一运算方法,请选择合适的方法使用
(base) [zhiyong@malab Learn]$ cat tt_4.sh
#! /bin/bash
x=1
echo $x
x=$[$x+1]
echo $x
((x++))
echo $x
x=$(($x+1))
echo $x
let x++
echo $x
let x+=1
echo $x
x=`expr $x + 1`
echo $x
4.自减一运算
以下列举了六种自减一运算方法,请选择合适的方法使用
(base) [zhiyong@malab Learn]$ cat tt_4.sh
#! /bin/bash
x=1
echo $x
x=$[$x-1]
echo $x
((x--))
echo $x
x=$(($x-1))
echo $x
let x--
echo $x
let x-=1
echo $x
x=`expr $x - 1`
echo $x

image.png







网友评论