成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Bash 初學(xué)者系列 5:在 bash 中進(jìn)行數(shù)學(xué)運(yùn)算

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

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

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

總體來說,bash 中的算術(shù)運(yùn)算符包括以下這些:

運(yùn)算符

描述

+

加法運(yùn)算

-

減法運(yùn)算

*

乘法運(yùn)算

/

整除

%

求余

**

冪運(yùn)算

在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"

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

$ ./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))

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

$((arithmetic-expression))

也可以使用減號運(yùn)算符 - 來進(jìn)行減法運(yùn)算。比如,下面的代碼,其結(jié)果將為 7:

sub=$((10-3))

執(zhí)行乘法和除法

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

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

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

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

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

MEGA=$(($GIGA * 1024))

類似的,將 GB 轉(zhuǎn)為 KB 也是一樣的做法:

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

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

div=$((20 / 4))

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

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

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

echo "5/2"2.50000000000000000000

另外,在其他算術(shù)運(yùn)算符中也可以使用 bc 命令:

圖片

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

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

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

我們來運(yùn)行一下:?

$ ./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ù)使用運(yùn)算符 %,如下所示:

rem=$((17%5))

其結(jié)果為 2,大家可以運(yùn)行試一下。

責(zé)任編輯:龐桂玉 來源: TIAP
相關(guān)推薦

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條件語句

2022-11-30 07:47:00

Bash腳本

2022-12-08 12:05:03

Bash字符串

2020-08-11 13:00:34

GNU bcLinuxShell

2022-11-28 08:01:47

BashLinuxshell 腳本

2023-07-20 15:37:50

Bash數(shù)組

2011-08-29 15:45:59

Lua函數(shù)

2011-06-17 15:06:14

Qt

2011-04-12 10:13:24

2011-09-16 09:38:19

Emacs

2022-04-24 15:21:01

MarkdownHTML

2009-11-13 15:46:25

Java多線程

2010-01-15 19:05:42

學(xué)習(xí)C++

2023-07-17 14:29:01

Bash算術(shù)運(yùn)算

2023-07-12 14:13:03

BashLinux
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 成人免费网视频 | 视频一区在线观看 | 亚洲精品天堂 | 91麻豆精品国产91久久久久久久久 | 亚洲精品二区 | 操亚洲| 亚洲毛片网站 | 成人在线观看免费视频 | 亚州精品天堂中文字幕 | 国产精品美女久久久久久免费 | 污免费网站 | 99re视频在线观看 | 欧美日韩中 | 中文字幕日韩一区 | 波多野结衣精品 | 国产高清精品一区 | 国产激情免费视频 | 老外黄色一级片 | 一级一片在线观看 | 婷婷色国产偷v国产偷v小说 | 国产精品久久久久aaaa九色 | 国产自产c区 | 国产亚洲欧美另类一区二区三区 | 伊色综合久久之综合久久 | 亚洲精选一区 | 国产视频91在线 | 亚洲一区二区三区四区五区中文 | 99久久久无码国产精品 | 丁香综合 | 亚洲免费网 | 黄色一级片aaa | 国产免费一区 | 欧美偷偷操 | 中文字幕在线看第二 | 69亚洲精品 | 女人一区| 免费h视频| 欧美13videosex性极品 | 国产中文字幕在线观看 | 国产精品片aa在线观看 | 日韩成人av在线播放 |