Shell 支持以下三種定義變量的方式:
variable=value
variable='value'
variable="value"
variable 是變量名,value 是賦給變量的值。如果 value 不包含任何空白符(例如空格、Tab 縮進等),那麽可以不使用引號;如果 value 包含了空白符,那麽就必須使用引號包圍起來。使用單引號和使用雙引號也是有區別的,稍後我們會詳細說明。
註意,賦值號=的周圍不能有空格,這可能和妳熟悉的大部分編程語言都不壹樣。
Shell 變量的命名規範和大部分編程語言都壹樣:
變量名由數字、字母、下劃線組成;
必須以字母或者下劃線開頭;
不能使用 Shell 裏的關鍵字(通過 help 命令可以查看保留關鍵字)。
變量定義舉例:
url=/shell/
echo $url
name='C語言中文網'
echo $name
author="嚴長生"
echo $author
使用變量
使用壹個定義過的變量,只要在變量名前面加美元符號$即可,如:
author="嚴長生"
echo $author
echo ${author}
變量名外面的花括號{ }是可選的,加不加都行,加花括號是為了幫助解釋器識別變量的邊界,比如下面這種情況:
skill="Java"
echo "I am good at ${skill}Script"
如果不給 skill 變量加花括號,寫成echo "I am good at $skillScript",解釋器就會把 $skillScript 當成壹個變量(其值為空),代碼執行結果就不是我們期望的樣子了。
推薦給所有變量加上花括號{ },這是個良好的編程習慣。
修改變量的值
已定義的變量,可以被重新賦值,如:
純文本復制
url=""
echo ${url}
url="/shell/"
echo ${url}
第二次對變量賦值時不能在變量名前加$,只有在使用變量時才能加$。