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

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

系統 Linux
今天我們將介紹在 bash 中使用運算符來執行算術運算。

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

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

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

運算符

描述

+

加法運算

-

減法運算

*

乘法運算

/

整除

%

求余

**

冪運算

在bash腳本中執行加法和減法

為了便于演示,我們創建一個名為 addition.sh 的腳本文件,添加兩個文件的大小(以字節 byte 為單位),并輸出。

為此,大家需要了解 bash 腳本中的參數,還有 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"

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

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

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

$((arithmetic-expression))

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

sub=$((10-3))

執行乘法和除法

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

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

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

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

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

MEGA=$(($GIGA * 1024))

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

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

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

div=$((20 / 4))

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

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

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

echo "5/2"2.50000000000000000000

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

圖片

使用冪和余數(模)

下面我們使用冪運算符 ** 進行求冪運算。首先創建一個名為 power.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

計算余數使用運算符 %,如下所示:

rem=$((17%5))

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

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

2022-12-02 14:30:24

Bash腳本數組

2022-12-14 10:08:00

BashLinux

2022-12-13 12:55:15

Bash循環

2022-12-01 08:10:49

Bash腳本參數

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數組

2011-06-17 15:06:14

Qt

2011-08-29 15:45:59

Lua函數

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

學習C++

2023-07-12 14:13:03

BashLinux

2023-07-17 14:29:01

Bash算術運算
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜a v电影 | 亚洲国产精品91 | 亚洲美女网站 | 国产精品久久久久无码av | 午夜精品一区 | 国产精品视频网址 | 国产露脸国语对白在线 | 亚州中文| 欧美成人第一页 | 国产欧美一区二区三区在线播放 | av中文字幕在线 | 免费人成激情视频在线观看冫 | 国产精品久久久久久久久久久久久久 | 国产精品久久久av | 91色站| 国产高清一区二区三区 | 日韩精品一区二区三区视频播放 | a在线视频观看 | 午夜www| 久久国产综合 | 91精品久久久久久久久中文字幕 | 欧美激情久久久 | 久久久久久精 | 男女污污网站 | 五月激情婷婷六月 | 日韩一区二区视频 | 亚洲国产成人精品女人久久久 | 伊人春色在线观看 | 欧洲妇女成人淫片aaa视频 | 成人福利视频网站 | 天天天操天天天干 | 国产成人jvid在线播放 | 伊人在线 | 欧美一区二区久久 | 精品国产一级 | 99热这里有精品 | 老司机精品福利视频 | 一区视频在线免费观看 | 精品永久 | 国产免费一区二区 | 超碰综合|