shell腳本 變量類型
什么是Shell變量
用一個固定的字符串去表示不固定的內容。
Shell變量的類型
shell腳本中自定義變量的類型,我們這里分為:
- 自定義變量
- 環境變量
- 位置變量
- 與定義變量
這四類,它們有一些相同點,但又有些不同點。
自定義變量
-
自定義變量的定義:
- 變量名=變量值
- 變量名必須以字母或下劃線開頭,區分大小寫
- 注意定義變量時等號兩端不能有空格。我們知道 shell 腳本是空格敏感的,這里就是體現之一。
-
自定義變量的引用:$變量名或${變量名},使用大括號來明確$符號的作用域是一個好習慣
-
查看自定義變量:echo ${變量名} 或 set(所有變量:包括自定義變量和環境變量)
-
取消自定義變量:unset 變量名
-
自定義變量的作用范圍:僅在當前Shell中有效
環境變量
-
環境變量的定義:
-
方法一:export 變量名=變量值,同樣不能有空格
-
方法二:export 變量名 將自定義變量轉換為環境變量
-
-
環境變量的引用:$變量名或${變量名}
-
查看環境變量:echo ${變量名}
-
取消自定義變量:unset 變量名
-
自定義變量的作用范圍:在當前Shell中和子Shell中有效
位置變量
- 直接在腳本中按$1, $2等這樣引用(注意按順序)
- 在運行腳本時按位置傳參
預定義變量
- $0 腳本名(自己本身)
- $! 上一個后臺進程的PID
- $? 上一個命令的返回值(0表示成功)
- $* 所有的參數, "*"會將所有的參數作為整體,輸出
- $@ 所有的參數,"@"會將所有的參數分開,輸出
- $# 參數的個數
- $$ 當前進程的PID