iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 23
0
自我挑戰組

linux 能力upup系列 第 23

Day23 Shell的變數功能

變數是bash環境中一個非常非常重要的東西,那甚麼是變數呢?簡單來說,就是讓一個特定的字串代表不固定的內容。因為這個特性,在很多地方都能帶來給我們便利。

(1)變數的可變性與方便性
基本上就是再更改一些指令相關的程式的時候,不需要去更動到內部的程式碼

(2)影響bash環境操作的變數
某些特定變數會影響到bash的環境喔。畢竟前面應該有提到,能不能在任何目錄下執行某個命令,與PATH這個變數有關。假如在PATH變數內部的路徑有找到使用者想要執行的指令,那指令就能背順利執行。反之,沒有找到該指令,那就會出現command not found 的錯誤訊息。那就無法執行該指令了。
這顛有一點要稍微特別提一下,為了區別環境變數與自訂變數的不同,環境變數通常以大寫表示。

(3)腳本程式設計(shell script)的好幫手
前面提到的兩個部分都還只是系統方面預設變數的目的,至於個人的應用就是這一部分主要提及的。
假設使用者要寫一個大型的script,有些資料因為使用者習慣不同而有所差異,這時候將變數定義寫在最前面,後面相關的部分都用變數取代,就算換到另外一台主機執行程式結果出狀況時,很大的可能修改一下前面的變數定義,基本上就可以執行了。

最後,我來幫變數做個簡單的定義
變數就是以一組文字或符號等等,來取代一些設定或是保留一串資料

那接下來,我們來介紹變數的取用跟設定變數的規則吧

要如何知道變數裡面存放甚麼內容呢?這時候就需要echo這個變數了。但是,變數在被存取的時候,前面要加上一個$才行

指令格式
echo $變數名稱

那我們要如何調整變數內存取的資料呢?不用用到很多指令,只需要一個簡單的=就可以了,用=連接變數名稱跟希望變數儲存的資料。
在預設的情況來說,還沒被使用的變數儲存的資料一般都是空白,就是沒有資料的意思。還有阿,在設定變數的時候,要遵守以下的規則。

(1)變數與變數內容以一個=連結
(2)等號的兩邊不能有空白字元
(3)變數的名稱只能是因紋以及數字,但是開頭不能是數字
(4)變數內容中具有空白符號的時候,可以用'或"將變數內容結合起來,但是雙引號中的特殊字元可以保持原本具有的特性,而酖引號中的特殊字原則無法保持自身原有的特性,而變成純文字
(5)可以使用跳脫字元\將特殊符號變為一般字元
(6)在一串指令的執行中,還需要藉由其他額外的指令所提供的資訊時,可以使用反單引號‵指令`或$(指令)
(7)假如該變數為擴增變數內容的時候,可以用"$變數名稱"或${變數名稱}來累加內容
(8)如果變數需要在其他子程式中使用,需要以export來使變數成為環境變數
(9)通常大寫字元微系統預設變數,自行設定的變數可以使用小寫字元
(10)取消變數的使用 unset

指令格式
unset 變數名稱

基本上遵守上面提及的規則來命名以及使用變數不會出現太大的問題。

以上就是本人介紹檔案打包的部分,如果有缺漏的部分,也麻煩大家多指教


上一篇
Day22 Shell BASH
下一篇
Day24 環境變數的功能
系列文
linux 能力upup30

尚未有邦友留言

立即登入留言