1. 程式人生 > >shell指令碼學習筆記(一、shell指令碼變數語法)

shell指令碼學習筆記(一、shell指令碼變數語法)

sh檔案用"#!"開頭表示用什麼來執行程式,如"#!/bin/bash" 表示用bin/bash來執行sh

sh檔案,預設是文字檔案,是不可以執行的,可以通過chmod允許sh檔案可以被執行,chmod命令說明如下:

chmod----改變一個或多個檔案的存取模式(mode)

chmod [options] mode files

如chmod +x  my_first.sh,及時給my_first.sh檔案增加可以被執行的許可權。

變數的引用

     shell指令碼的變數引用方式有兩種,一種是直接 加"$" 如,$var 就表示了對變數var的引用,但是這種方式會有兩種問題,一是會導致一些特殊的符號(除了$、'\)被解析失敗。二是引號引用,可以防止變數的值又多個字元單片語成的字串被分離。

    使用的原則是:如果變數中的值包含空格,而且需要保留變數中的空格,就要用需要用雙引號把變數引用括起來。

export命令

    export 命令可以把指定的變數和函式輸出到執行環境,供其他shell執行環境使用。具體語法如下:

   export  [-fnp]  [變數或函式的名稱]=[變數設定的值]

   -f選項表示輸出的一個函式 。

   -n選項表示把export屬性從指定的變數和函式上移除。

   -p打印出當前shell輸出的所有變數,和單獨執行export命令相同。

刪除變數和函式命令

命令unset把變數和函式從當前shell和後續的shell執行環境中刪除,語法如下:

unset [-fv]  [變數和函式的名稱]

-f變量表示刪除的是一個函式

-v表示刪除的一個變數

檢查變數是否存在

${varName? Error:this variable is not defined} 如果變數varName 沒有定義則返回一個錯誤,如果變數值為空,這返回空。

${varName? Error:this variable is not defined}如果變數沒有定義和變數值為空都會返回一個錯誤。