十一 Shell程式設計之運算子

2021-07-11 10:48:09 字數 1218 閱讀 8895

shel程式設計之運算子

一、declare命令

在shell中如果不宣告變數型別,所有的都預設是字串型別

1.declare宣告變數型別

格式:$ declare [+/-][選項] 變數名

*選項:

**-:給變數設定型別屬性

**+:取消變數的型別屬性

**-a:將變數宣告為陣列型

**-i:將變數宣告為整數型

**-x:將變數宣告為環境變數

**-r:將變數宣告為唯讀變數

**-p:顯示指定變數的被宣告的型別

eg:把變數宣告為數值型

#aa=11

#bb=22

#declare -i cc=$aa+$bb

結果:33

2.宣告陣列變數

**定義陣列

eg:#movie[0]=zp

#movie[1]=tp

#declare -a movie[2]=live

**檢視陣列

eg:#echo $    表示檢視陣列的第乙個值

#echo $ 表示檢視陣列中下標為2的數值

#echo $ 表示檢視陣列中所有的數值

3.宣告環境變數

**eg:declare -x test=123

其和export作用相似,但其實是declare命令的作用

4.查詢變數的屬性

**declare -p    表示查詢所有變數的屬性

**declare -p 變數名  表示查詢指定變數的屬性

二、數值運算的方法

方法一:利用declare -i命令

方法二:expr或let數值運算工具

eg:#aa=11

#bb=22

#dd=$(expr $aa + $bb)

#dd的值是aa和bb的和。注意「+」號左右兩側必須有空格

方法三:「$((表示式))」或「$[表示式]」

eg:#aa=11

#bb=22

#ff=$(( $aa+$bb))

#echo $ff

結果:33

#gg=$[ $aa+$bb]

#echo $gg

結果:33

方法四:let oo=$aa+$bb

echo $oo

結果:33   #let可以用於帶賦值的運算

三、變數測試

**實際應用少,了解即可

shell程式設計之運算子

shell變數是弱型別的,且預設是字串型,所以預設情況下無法進行數值計算。解決方法如下 命令格式 declare 選項 變數名 選項 給變數設定型別屬性 取消變數的型別屬性 a 將變數宣告為陣列型 i 將變數宣告為整數型 integer x 將變數宣告為環境變數 r 將變數宣告為唯讀變數 p 顯示指...

shell程式設計之運算子

a declare i cc aa bb.會將cc宣告為整形。作的是加法運算 b declare x test 123 會將變變數宣告為環境變數。export實際也是呼叫的該命令。c declare p test 檢視當前test變數的定義格式 d declare r test 將test變數設定為...

shell 指令碼程式設計之算術運算子

shell 的算術運算子只支援整數,浮點數的運算結果會被轉換成整數。算術運算子包括 冪運算 位左移 位右移 按位與 按位或 按位異或 按位非 使用 let expression 的方式將運算的結果儲存到變數中,如果直接寫var var1 var2這種賦值方式,則得到的結果是字串。ljx localh...