自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Bash 初學者系列 5:在 bash 中進行數(shù)學運算

系統(tǒng) Linux
今天我們將介紹在 bash 中使用運算符來執(zhí)行算術運算。

在編寫 bash 腳本的時候,經(jīng)常會遇到需要計算數(shù)學結果的情況,比如需要計算磁盤剩余空間、文件大小、密碼到期時間、主機數(shù)量、網(wǎng)絡帶寬等。

今天我們將介紹在 bash 中使用運算符來執(zhí)行算術運算。

總體來說,bash 中的算術運算符包括以下這些:

運算符

描述

+

加法運算

-

減法運算

*

乘法運算

/

整除

%

求余

**

冪運算

在bash腳本中執(zhí)行加法和減法

為了便于演示,我們創(chuàng)建一個名為 addition.sh 的腳本文件,添加兩個文件的大?。ㄒ宰止?jié) byte 為單位),并輸出。

為此,大家需要了解 bash 腳本中的參數(shù),還有 cut 以及 du 命令。

du 命令計算文件的大小,其輸出包括兩列,分別為文件大小和文件名,cut 命令取出其中的第一列(即文件大小);du 命令的輸出通過??管道重定向???傳遞給 cut 命令。

腳本如下所示:?

#!/bin/bash
fs1=$(du -b $1fs2=$(du -b $2
echo "File size of $1 is: $fs1"echo "File size of $2 is: $fs2"
total=$(($fs1 + $fs2))
echo "Total size is: $total"

在運行上述腳本的時候,需要給出兩個文件名作為參數(shù)。比如,我們將文件 /etc/passwd/etc/group 作為參數(shù)來運行該腳本:?

$ ./addition.sh /etc/passwd /etc/groupFile size of /etc/passwd is: 2795File size of /etc/group is: 1065Total size is: 3860

在 addition.sh 腳本中最重要的一行為:

total=$(($fs1 + $fs2))

上面代碼使用 運算符 + 將兩個數(shù)字 $fs1 和 $fs2 相加。這里需要注意的是,算術表達式需要使用雙括號將其括起來:

$((arithmetic-expression))

也可以使用減號運算符 - 來進行減法運算。比如,下面的代碼,其結果將為 7:

sub=$((10-3))

執(zhí)行乘法和除法

我們創(chuàng)建一個名為 giga2mega.sh 的腳本文件,用于將 GB 轉為 MB,如下所示:?

#!/bin/bash
GIGA=$1MEGA=$(($GIGA
echo "$GIGA GB is equal to $MEGA

下面我們來執(zhí)行一下,看看 4GB 相當于多少 MB:?

$ ./giga2mega.sh 44 GB is equal to 4096 MB

在這里,我們使用了乘法(*)運算符將 GB 數(shù)乘以1024,得到等效的兆字節(jié)數(shù):

MEGA=$(($GIGA * 1024))

類似的,將 GB 轉為 KB 也是一樣的做法:

KILO=$(($GIGA * 1024 * 1024))

除法運算符 / 用于兩個數(shù)相除,比如下面例子:

div=$((20 / 4))

注意,這里是整除,所有的小數(shù)部分會丟失。比如,計算 5 除以 2,其結果為 2:?

$ div=$((5 / 2))$echo $div2

要實際計算兩個數(shù)相除的結果(獲取十進制的結果),可使用 bc 命令,比如,還是計算 5 除以 2,可參照如下代碼:?

echo "5/2"2.50000000000000000000

另外,在其他算術運算符中也可以使用 bc 命令:

圖片

使用冪和余數(shù)(模)

下面我們使用冪運算符 ** 進行求冪運算。首先創(chuàng)建一個名為 power.sh 的腳本,接受兩個數(shù)字作為參數(shù):a 和 b,然后計算 a 的 b 次冪,如下代碼所示:?

#!/bin/basha=$1b=$2result=$((a**b))echo "$1^$2=$result"

我們來運行一下:?

$ ./power.sh 2 32^3=8$ ./power.sh 3 23^2=9$ ./power.sh 5 25^2=25$ ./power.sh 4 24^2=16

計算余數(shù)使用運算符 %,如下所示:

rem=$((17%5))

其結果為 2,大家可以運行試一下。

責任編輯:龐桂玉 來源: TIAP
相關推薦

2022-12-02 14:30:24

Bash腳本數(shù)組

2022-12-14 10:08:00

BashLinux

2022-12-13 12:55:15

Bash循環(huán)

2022-12-01 08:10:49

Bash腳本參數(shù)

2022-12-16 09:01:24

2022-12-09 07:58:52

Bash條件語句

2020-08-11 13:00:34

GNU bcLinuxShell

2022-12-08 12:05:03

Bash字符串

2022-11-30 07:47:00

Bash腳本

2022-11-28 08:01:47

BashLinuxshell 腳本

2023-07-20 15:37:50

Bash數(shù)組

2011-06-17 15:06:14

Qt

2011-08-29 15:45:59

Lua函數(shù)

2009-11-13 15:46:25

Java多線程

2010-01-15 19:05:42

學習C++

2011-04-12 10:13:24

2011-09-16 09:38:19

Emacs

2022-04-24 15:21:01

MarkdownHTML

2023-07-12 14:13:03

BashLinux

2023-07-17 14:29:01

Bash算術運算
點贊
收藏

51CTO技術棧公眾號