偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

在編寫 bash 腳本的時(shí)候,經(jīng)常會(huì)遇到需要計(jì)算數(shù)學(xué)結(jié)果的情況,比如需要計(jì)算磁盤剩余空間、文件大小、密碼到期時(shí)間、主機(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)建一個(gè)名為 addition.sh 的腳本文件,添加兩個(gè)文件的大?。ㄒ宰止?jié) byte 為單位),并輸出。

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

du 命令計(jì)算文件的大小,其輸出包括兩列,分別為文件大小和文件名,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í)候,需要給出兩個(gè)文件名作為參數(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)算符 + 將兩個(gè)數(shù)字 $fs1 和 $fs2 相加。這里需要注意的是,算術(shù)表達(dá)式需要使用雙括號(hào)將其括起來:

$((arithmetic-expression))

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

sub=$((10-3))

執(zhí)行乘法和除法

我們創(chuàng)建一個(gè)名為 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)算符 / 用于兩個(gè)數(shù)相除,比如下面例子:

div=$((20 / 4))

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

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

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

echo "5/2"2.50000000000000000000

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

圖片

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

下面我們使用冪運(yùn)算符 ** 進(jìn)行求冪運(yùn)算。首先創(chuàng)建一個(gè)名為 power.sh 的腳本,接受兩個(gè)數(shù)字作為參數(shù):a 和 b,然后計(jì)算 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

計(jì)算余數(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-09 07:58:52

Bash條件語句

2022-12-16 09:01:24

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-06-17 15:06:14

Qt

2011-08-29 15:45:59

Lua函數(shù)

2009-11-13 15:46:25

Java多線程

2011-09-16 09:38:19

Emacs

2022-04-24 15:21:01

MarkdownHTML

2011-04-12 10:13:24

2010-01-15 19:05:42

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

2023-07-12 14:13:03

BashLinux

2023-07-17 14:29:01

Bash算術(shù)運(yùn)算
點(diǎn)贊
收藏

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