Linux Shell程式設計(8)——變數詳解
不同與許多其他的程式語言,Bash不以"型別"來區分變數。本質上來說,Bash變數是字串,但是根據環境的不同,Bash允許變數有整數計算和比較。其中的決定因素是變數的值是不是隻含有數字.
變數沒有型別既是幸運的也是悲慘的。它使指令碼程式設計時有更多的彈性(但也可能把你弄暈)並能很容易地寫出程式碼。但是,這也很容易不小心犯錯誤和養成壞的程式設計習慣。
程式設計師的負擔就是要清楚地知道指令碼中變數的型別。Bash不會幫你檢查。
例子
變數沒有型別既是幸運的也是悲慘的。它使指令碼程式設計時有更多的彈性(但也可能把你弄暈)並能很容易地寫出程式碼。但是,這也很容易不小心犯錯誤和養成壞的程式設計習慣。
程式設計師的負擔就是要清楚地知道指令碼中變數的型別。Bash不會幫你檢查。
例子
#!/bin/bash
a=2334 # 整數.
let "a += 1"
echo "a = $a " # a = 2335
echo # 仍然是整數.
b=${a/23/BB} # 把變數a中的"23"替換為"BB"並賦給變數b
# 這使變數$b成為字串
echo "b = $b" # b = BB35
declare -i b # 即使明確地宣告它是整數也沒有用
echo "b = $b" # b = BB35
let "b += 1" # BB35 + 1 =
echo "b = $b" # b = 1
echo
c=BB34
echo "c = $c" # c = BB34
d=${c/BB/23} # 把"BB"替換成"23"
# 這使變數$d成為一個整數
echo "d = $d" # d = 2334
let "d += 1" # 2334 + 1 =
echo "d = $d" # d = 2335
echo
# What about null variables?
e=""
echo "e = $e" # e =
let "e += 1" # 數值計算允許有null值操作?
echo "e = $e" # e = 1
echo # 空值(null)變數變成了整數
# 如果沒有宣告變數會怎麼樣?
echo "f = $f" # f =
let "f += 1" # 算術計算能通過嗎?
echo "f = $f" # f = 1
echo # 沒有預先宣告的變數變為整數
# 在Bash中的變數確實是無型別的.
exit 0
相關文章
- Linux shell程式設計(一)shell指令碼中的變數詳解Linux程式設計指令碼變數
- Linux Shell程式設計(10)——引用變數Linux程式設計變數
- Shell程式設計-shell變數1程式設計變數
- Linux Shell程式設計(6)——變數替換Linux程式設計變數
- Linux Shell程式設計(7)——變數賦值Linux程式設計變數賦值
- Linux Shell程式設計(14)——內部變數Linux程式設計變數
- Shell程式設計-02-Shell變數程式設計變數
- shell程式設計–bash變數程式設計變數
- shell程式設計(一)變數程式設計變數
- Linux Shell程式設計(9)——特殊變數型別Linux程式設計變數型別
- Shell變數型別有哪些?linux運維shell程式設計變數型別Linux運維程式設計
- shell程式設計-高階變數程式設計變數
- Shell程式設計-04-Shell中變數數值計算程式設計變數
- Shell程式設計-shell變數2-位置變數和預定義變數程式設計變數
- Linux之19——Shell程式設計基礎詳解Linux程式設計
- shell程式設計–bash變數介紹程式設計變數
- Shell程式設計規範與變數程式設計變數
- 01 shell程式設計之變數定義程式設計變數
- 01 shell程式設計規範與變數程式設計變數
- shell程式設計-sed命令詳解(超詳細)程式設計
- LINUX Shell指令碼程式設計例項詳解(一)上Linux指令碼程式設計
- 【趣解程式設計】變數程式設計變數
- shell程式設計02——變數定義與使用程式設計變數
- Linux Shell程式設計(13)——數字常量Linux程式設計
- Linux Shell程式設計(1)——shell程式設計簡介Linux程式設計
- shell程式設計學習筆記(二):Shell中變數的使用程式設計筆記變數
- shell指令碼程式設計學習筆記——變數指令碼程式設計筆記變數
- shell程式設計之環境變數配置檔案程式設計變數
- Linux Shell變數Linux變數
- linux shell 程式設計Linux程式設計
- linux shell程式設計Linux程式設計
- Linux Shell 程式設計基礎詳解——吐血整理,牆裂推薦!Linux程式設計
- Linux Shell程式設計(27)——子shellLinux程式設計
- 詳解Linux bash變數Linux變數
- Linux 程式設計之Shell程式設計(轉)Linux程式設計
- Linux之shell程式設計Linux程式設計
- Linux Shell程式設計(1)Linux程式設計
- Linux Shell程式設計(2)Linux程式設計