bash中的數值運算

2022-04-04 02:51:30 字數 1260 閱讀 5248

第一種,使用((表示式)):

a=3

((b=a+2))

echo $b

第二種使用let:

let "c=$a+4"

echo $c

第三種,使用expr表示式(注意空格不能少):

#注意空格和反引號

d=`expr 4 + 3`

echo $d

第四種,比較常用,就是放在$[ expression]中,其實這才是bash的推薦的標準處理方法

a=4

b=$[$a-9]

#b=-5

echo $b

在c風格的for迴圈中,則可以如下使用:

#!/bin/bash

for (( a=1, b=10; a<=10; a++, b-- ))

do ((c=a*b))

echo $c

done

一般bash只能處理整數運算,要處理浮點書,必須借助於bc(bash計算器),基本格式如下:

variable=`echo "option;expression"|bc`

注意上面的反引號(一般位於tab建的上方,感嘆號!的左邊),不是單引號。

例如要計算3.25/3,精確到小數點後4位:

var=`echo "scale=4;3.25/3"|bc`

#var=1.0833

echo $var

再看乙個例子:

a=10.5

b=2.7

c=`echo "scale=5;$a /$b "|bc`

#c=3.88888

echo $c

如果需要計算的浮點表示式比較多,可以放在多行上,格式如下:

variable=`bc << eof

options

statements

expressions

eof`

下面是乙個實際例子:

#!/bin/bash

a=1.23432

b=2.45

c=6.0

d=5#注意:

#var=ab+cd,ab和cd只是bc中的變數,不能在bash中使用

var=`bc << eof

scale=4

ab=($a+$b)

cd=($c-$d)

ab+cd

eof`

#var=4.68342

echo $var

bash中的數值運算

第一種,使用 表示式 a 3 b a 2 echo b第二種使用let let c a 4 echo c 第三種,使用expr表示式 注意空格不能少 注意空格和反引號 d expr 4 3 echo d第四種,比較常用,就是放在 expression 中,其實這才是bash的推薦的標準處理方法 a ...

bash的數值運算

在shell中,變數的預設型別是字串型別,而字串型別是不能進行數值運算的,所以shell提供了兩種方式來實現數值運算。1.用declare命令顯式地宣告變數的型別。2.用expr let數值運算工具或著特殊書寫格式來完成shell中的數值運算。一 declare命令介紹 目的 顯式地宣告變數的型別 ...

10 5 1 Bash變數 數值運算與運算子

aa 11 bb 22 cc aa bb echo cc 11 22 root localhost declare 選項 變數名 選項 給變數設定型別屬性 取消變數的型別屬性 i 將變數宣告為整數型 integer x 將變數宣告為環境變數 p 顯示指定變數的被宣告的型別 aa 11 bb 22 d...