官术网_书友最值得收藏!

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

主站蜘蛛池模板: 当涂县| 淮阳县| 金堂县| 浦城县| 晋中市| 天镇县| 敦煌市| 平定县| 抚顺县| 天长市| 恩施市| 东山县| 巨野县| 阿巴嘎旗| 泰兴市| 巴林左旗| 南召县| 阳朔县| 商南县| 绵竹市| 岢岚县| 泉州市| 平度市| 盐津县| 苏尼特左旗| 绿春县| 仁怀市| 屯昌县| 武乡县| 宝坻区| 汉沽区| 绿春县| 高安市| 云梦县| 巴里| 永修县| 扶风县| 会泽县| 巴林右旗| 镇雄县| 峨眉山市|