- Linux自動化運維:Shell與Ansible(微課版)
- 楊寅冬主編
- 959字
- 2024-07-26 17:04:23
1.2.7 算術運算
Shell中常用的算術運算方法有使用let命令、使用expr命令、使用bc命令、使用運算語法$[算術表達式]、使用運算語法$((算術表達式))等幾種。
在Shell中可以使用各種運算符來執行運算,這些運算符主要有以下幾類。
(1)算術運算符:包括+(加)、-(減)、*(乘)、/(除)和%(取余)等。
(2)關系運算符:用于比較兩個數的大小,包括-eq(等于)、-ne(不等于)、-gt(大于)、-lt(小于)、-ge(大于或等于)和-le(小于或等于)等。

V1-7 算術運算
(3)邏輯運算符:用于比較兩個布爾值的真假,包括&&(邏輯與)、||(邏輯或)和!(邏輯非)等。
(4)字符串運算符:用于比較兩個字符串的大小,包括=(等于)、!=(不等于)和-z(是否為空字符串)等。
(5)文件測試運算符:用于檢查和判斷文件的屬性及狀態,包括-e(文件是否存在)、-r(文件是否可讀)、-w(文件是否可寫)和-x(文件是否可執行)等。
1. 算術運算符
默認情況下,如果不特別指明,則Shell不直接進行算術運算,而是把算術運算符解釋為字符串連接符,相當于兩個字符串拼接在一起,形成一個新的字符串。
Shell支持的常見的算術運算符如表1-10所示。
表1-10 Shell支持的常見的算術運算符

算術運算符的優先級遵循算術運算的優先級,即先乘除,再加減。如果需要改變優先級,則可以使用圓括號進行標識。
在算術運算中,圓括號用于指定運算的順序,并在進行算術運算時被視為操作符。例如:
echo $(( (2 + 3) * 4 )) 20
2. 其他運算方法
bc是一個Shell命令,用于執行高精度算術運算。它是一種解釋型命令,可以直接在命令行中輸入算術表達式并計算結果。
bc支持很多算術運算,包括加、減、乘、除、取余、冪運算、位運算等。它還支持函數,包括數學函數(如sine、cosine和sqrt)、字符串函數(如length和index)等。
下面是一些使用bc命令的示例。
# 計算 $2^8$ 的值 $ echo "2^8" | bc 256 # 計算 $1 + 2 * 3 - 4 / 5$ 的值 echo "1 + 2 * 3 - 5 / 5" | bc 6
let是一個Shell命令,用于執行算術運算。它允許在命令行中直接輸入表達式,并將結果存儲在變量中。
下面是一些使用let命令的示例。
# 計算2 + 3的值并將結果存儲在變量x中 let x=2+3 echo $x 5 # 計算4 - 1的值并將結果存儲在變量y中 let y=4-1 echo $y 3
expr是一個Shell命令,用于執行算術運算、文本比較和模式匹配。它是一個簡單的解釋型命令,可以在命令行中輸入表達式并計算輸出結果。
下面是一些使用expr命令的示例。
# 計算2 + 3的值 expr 2 + 3 5 # 計算4 - 1的值 expr 4 - 1 3
- Linux設備驅動開發詳解(第2版)
- Social Media Mining with R
- 混沌工程實戰:手把手教你實現系統穩定性
- Docker+Kubernetes應用開發與快速上云
- Ceph分布式存儲實戰
- Linux內核設計的藝術:圖解Linux操作系統架構設計與實現原理
- 跟老男孩學Linux運維:Shell編程實戰
- INSTANT Galleria Howto
- Learn CUDA Programming
- Linux網絡操作系統項目教程(RHEL 7.4/CentOS 7.4)(第3版)(微課版)
- 鴻蒙入門:HarmonyOS應用開發
- Mastering Sass
- Getting Started with Citrix XenApp 6.5
- 48小時精通SolidWorks 2014中文版鈑金設計技巧
- Linux指令從入門到精通(“十二五”國家重點圖書出版規劃項目)