您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“shell編程數(shù)值運算有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“shell編程數(shù)值運算有哪些”吧!
Shell 編程中的基本數(shù)值運算,這類運算包括:
數(shù)值(包括整數(shù)和浮點數(shù))間的加、減、乘、除、求冪、求模等
產(chǎn)生指定范圍的隨機數(shù)
產(chǎn)生指定范圍的數(shù)列
Shell 本身可以做整數(shù)運算,復(fù)雜一些的運算要通過外部命令實現(xiàn),比如 expr
,bc
,awk
等。另外,可通過 RANDOM
環(huán)境變量產(chǎn)生一個從 0 到 32767 的隨機數(shù),一些外部工具,比如 awk
可以通過 rand()
函數(shù)產(chǎn)生隨機數(shù)。而 seq
命令可以用來產(chǎn)生一個數(shù)列。下面對它們分別進行介紹。
本次試驗是在Linux虛擬機的交互模式運行
$ i=0; $ ((i++)) $ echo $i 1 $ let i++ $ echo $i 2 $ expr $i + 1 3 $ echo $i 2 $ echo $i 1 | awk '{printf $1+$2}' 3
說明: expr
之后的 $i
,+
,1 之間有空格分開。如果進行乘法運算,需要對運算符進行轉(zhuǎn)義,否則 Shell 會把乘號解釋為通配符,導(dǎo)致語法錯誤; awk
后面的 $1
和 $2
分別指 $i
和 1,即從左往右的第 1 個和第 2 個數(shù)。
用 Shell 的內(nèi)置命令查看各個命令的類型如下:
$ type type type is a shell builtin $ type let let is a shell builtin $ type expr expr is hashed (/usr/bin/expr) $ type bc bc is hashed (/usr/bin/bc) $ type awk awk is /usr/bin/awk
從上述演示可看出: let
是 Shell 內(nèi)置命令,其他幾個是外部命令,都在 /usr/bin
目錄下。而 expr
和bc
因為剛用過,已經(jīng)加載在內(nèi)存的 hash
表中。
說明:如果要查看不同命令的幫助,對于 let
和 type
等 Shell 內(nèi)置命令,可以通過 Shell 的一個內(nèi)置命令 help
來查看相關(guān)幫助,而一些外部命令可以通過 Shell 的一個外部命令 man
來查看幫助,用法諸如內(nèi)置命令:help let
,外部命令 :man expr
等。
#!/bin/bash # calc.sh i=0; while [ $i -lt 10000 ] do ((i++)) done echo $i
說明:這里通過 while [ 條件表達式 ]; do .... done
循環(huán)來實現(xiàn)。-lt
是小于號 <
到此,相信大家對“shell編程數(shù)值運算有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。