首頁 > shell教程 閱讀:0更新時間:2020-03-28 02:18:06

Shell declare -i:將變量聲明為整數類型

在《shell declare命令》一節中,我們已經講解了 declare 命令的各種選項,為了讓 Shell 進行整數運算,本節我們重點講解-i選項。

默認情況下,Shell 中每一個變量的值都是字符串(不了解的讀者請猛擊《Shell變量》),即使你給變量賦值一個數字,它其實也是字符串,所以在進行數學計算時會出錯。

使用 declare 命令的-i選項可以將一個變量聲明為整數類型,這樣在進行數學計算時就不會作為字符串處理了,請看下面的例子:

#!/bin/bash

declare -i m n ret
m=10
n=30

ret=$m+$n
echo $ret

ret=$n/$m
echo $ret

運行結果:
40
3

除了將 m、n 定義為整數,還必須將 ret 定義為整數,如果不這樣做,在執行ret=$m+$nret=$n/$m時,Shell 依然會將 m、n 視為字符串。

此外,你也不能寫類似echo $m+$n這樣的語句,這種情況下 m、n 也會被視為字符串。

總之,除了將參與運算的變量定義為整數,還得將承載結果的變量定義為整數,而且只能用整數類型的變量來承載運算結果,不能直接使用 echo 輸出。

和 (())、let、$[] 不同,declare -i的功能非常有限,僅支持最基本的數學運算(加減乘除和取余),不支持邏輯運算(比較運算、與運算、或運算、非運算),所以在實際開發中很少使用。

beylze編程學院,一個分享編程知識和seo優化知識的網站。跟著beylze一起學習,每天都有進步。

通俗易懂,深入淺出,一篇文章只講一個知識點。

文章不深奧,不需要鉆研,在公交、在地鐵、在廁所都可以閱讀,隨時隨地漲姿勢。

文章不涉及代碼,不燒腦細胞,人人都可以學習。

當你決定關注beylze(公眾號:beylze),你已然超越了90%的其他從業者!

相關文章

優秀教程

国产亚洲欧美日韩