Shell 基礎 1-宣告, 變數, 函數, 確認檔案存在

因為寫了一篇介紹如何使用 shell script 來備份伺服器資料的小程式,發現如果連相關的基礎使用也放進去的話會導致篇幅過長,所以我另外寫一篇文章介紹這些基礎用法。

 

宣告

建議在編寫 Shell script 時,可以加上『.sh』副檔名方便識別。
為了要讓系統知道這個檔案是 shell script,必須要在檔案的第一行寫入下列這行指令。
看起來很像註解,但這就是規定。
至於你可以看到這段指令中有個路徑『/bin/bash』,意思是接下來的指令希望以 bash 環境執行。事實上,Linux 有許多不同種 shell 環境可以用來作為特定用途,不過通常一般來說最常見的就是使用 bash 來執行命令。其他種 shell 就屬於進階用法,我自己也不是很熟悉,以後有機會碰到再來介紹吧。 🙂

 

變數

變數宣告很像 Python 不需在最前方加上什麼關鍵字。宣告後,便可以使用 dollar sign 『$』來使用變數。
Shell 預設使用全域變數,所以在函數中宣告變數要特別小心,盡可能將函數內使用的變數使用區域變數來宣告。
切記,等號兩端不能加上空白鍵!

Output

 

區域變數:local 變數名稱
更深入的使用方法在『函數』的部分做講解。

 

變數命名含有底線的話,在使用此變數的時候必須要加上『{ }』,如下所示:
若不加上大括號執行程式,應該因為模糊不明會造成而出錯。

Output

 

函數

宣告函數與呼叫函數

 

測試一下

Output

 

設計可以傳入參數的函數,參數依序以$1~$n表示。
這裡面特別使用了區域變數“local”來宣告在函數內的 Name 變數,原因就是為了要避免在函數內呼叫或修改全域變數。

Output

 

檢查檔案

檢查檔案或路徑是否存在,這邊要注意 Shell 的 if 語法中括號內側各需要 1 個空白字元隔開。

 

Andy Wang

站在巨人的肩膀上仍須戰戰兢兢!

One thought on “Shell 基礎 1-宣告, 變數, 函數, 確認檔案存在

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料