a).declare -i cc=$aa+$bb. 會將cc宣告為整形。作的是加法運算
b).declare -x test=123 會將變變數宣告為環境變數。export實際也是呼叫的該命令。
c).declare -p test 檢視當前test變數的定義格式
d).declare -r test 將test變數設定為唯讀變數,一旦設定為唯讀後,該變數不可被修改和刪除,去掉唯讀屬性也不可以。
f).declare -p 檢視所有變數的定義格式
j).格式:declare [+/-] [選項] 變數
-表示賦予某種屬性。
+表示去掉某種屬性。
a).cc=$(($aa+$bb)) (1)
b).cc=$[$aa+$bb] (2)
c).cc=$( expr $aa + $bb ) (3) (+兩邊必須有空格)
d).優先順序
13: -,+ 單目負、單目正
12: !,~ 邏輯非、按位取反
11: *,/,%
10: +,-
9: 《, 》 按位左移,按位右移
8: <=,>=,<.>
7: ==,!=
6: &
5: ^
4: |
3: &&
2: ||
1: =,+=,-=,*=,/=,%=,&=,
變數置換方式
變數y沒有設定
變數y為空值
變數y設定值
x=$x= 新值
x 為空
x=$y
x=$x= 新值
x= 新值
x=$y
x=$x 為空
x= 新值
x=新值
x=$x 為空
x 為空
x=新值
x=$x= 新值
x 為空
x=$y
y= 新值
y 值不變
y值不變
x=$x= 新值
x= 新值
x=$y
y= 新值
y= 新值
y值不變
x=$新值輸出到標準錯誤輸出(螢幕)
x 為空
x=$y
x=$新值輸出到標準錯誤輸出
新值輸出到標準錯誤輸出
x=$y
這個只有shell指令碼使用,只需要記住即可。
舉例:x=$ : 如果變數y沒有設定。 x便等於新值。 如果y的值為空,則x為空。 如果y設定值。 則x=$y
shell程式設計之運算子
shell變數是弱型別的,且預設是字串型,所以預設情況下無法進行數值計算。解決方法如下 命令格式 declare 選項 變數名 選項 給變數設定型別屬性 取消變數的型別屬性 a 將變數宣告為陣列型 i 將變數宣告為整數型 integer x 將變數宣告為環境變數 r 將變數宣告為唯讀變數 p 顯示指...
十一 Shell程式設計之運算子
shel程式設計之運算子 一 declare命令 在shell中如果不宣告變數型別,所有的都預設是字串型別 1.declare宣告變數型別 格式 declare 選項 變數名 選項 給變數設定型別屬性 取消變數的型別屬性 a 將變數宣告為陣列型 i 將變數宣告為整數型 x 將變數宣告為環境變數 r ...
shell 指令碼程式設計之算術運算子
shell 的算術運算子只支援整數,浮點數的運算結果會被轉換成整數。算術運算子包括 冪運算 位左移 位右移 按位與 按位或 按位異或 按位非 使用 let expression 的方式將運算的結果儲存到變數中,如果直接寫var var1 var2這種賦值方式,則得到的結果是字串。ljx localh...