1.3 注釋
單行以 # 開頭的行就是注釋,會被解釋器忽略。
多行以:
*<
EOF
*結(jié)束,中間的都為注釋,示例如下:
# 注釋內(nèi)容...
:<<EOF
注釋內(nèi)容...
注釋內(nèi)容...
注釋內(nèi)容...
EOF
1.4 變量
定義變量
格式如下,“=”左右兩邊不能有空格
變量名=值
其中變量名的要求為:
- 命名只能使用英文字母,數(shù)字和下劃線,首個字符不能以數(shù)字開頭。
- 中間不能有空格,可以使用下劃線 _。
- 不能使用標(biāo)點(diǎn)符號。
- 不能使用bash里的關(guān)鍵字
值的話沒有要求,可以為整數(shù)、字符串、數(shù)組等,賦值完某個類型后,后面還可以繼續(xù)再賦值為其他類型,示例如下:
# 定義一個字符串變量
var="hello word"
# 定義一個值為1的變量
var=1
# 定義一個包含a、b、c的數(shù)組變量
var=(a b c)
使用變量
使用一個定義過的變量,只要在變量名前面加美元符號 $
即可,示例如下:
var="hello word"
# 打印變量var的值,
echo $var
# 如果變量沒有定義過,則值為空
echo $test
# 輸出結(jié)果
hello word
只讀變量
使用 readonly
命令可以將變量定義為只讀變量,只讀變量的值不能被改變。示例如下:
readonly val="ready only"
# 給只讀變量再次賦值會報錯
val="test"
# 輸出結(jié)果
-bash: val:只讀變量
刪除變量
使用 unset 命令可以刪除變量。語法:
unset variable_name
變量被刪除后不能再次使用。 unset 命令不能刪除只讀變量 。示例如下:
var="hello word"
unset var
echo $var
# 輸出結(jié)果為空
1.5 字符串
字符串定義
字符串是shell編程中最常用最有用的數(shù)據(jù)類型,字符串可以用單引號,也可以用雙引號,也可以不用引號(不用引用的情況中間不能有空格)。
str="this is string"
str='this is string'
# 正確示例,無引號無空格
str=thisisstring
# 錯誤示例,無引號有空格
str=this is string
獲取字符串長度
通過${#variable_name}
方式獲取,示例如下:
string="abcd"
echo ${#string}
# 輸出結(jié)果
4
1.6 索引數(shù)組
索引數(shù)組定義
數(shù)組中可以存放多個值。Bash Shell 只支持一維數(shù)組(不支持多維數(shù)組),初始化時不需要定義數(shù)組大小。數(shù)組元素的下標(biāo)由 0 開始。
Shell 數(shù)組用括號來表示,元素用"空格"符號分割開,語法格式如下:
array_name=(value1 value2 ... valuen)
賦值也支持指定索引位置賦值,示例如下:
# 數(shù)組賦值常見的兩種方式
array_name=("abc" "def")
array_name[0]="abc"
array_name[1]="def"
獲取數(shù)組長度
同獲取字符串長度一樣,也是通過${#variable_name}
方式獲取,示例如下:
array_name=("abc" "def")
# 打印數(shù)組長度
echo ${#array_name}
# 輸出結(jié)果:
2
讀取數(shù)組元素
指定索引位置的使用${array_name[index]}
,全部的使用${array_name[*]}
,示例如下:
array_name=("abc" "def")
# 讀取數(shù)組指定索引元素
echo ${array_name[0]}
# 讀取數(shù)組全部的元素
echo ${array_name[*]}
#輸出結(jié)果
abc
abc def
-
Linux
+關(guān)注
關(guān)注
87文章
11304瀏覽量
209521 -
文本編輯器
+關(guān)注
關(guān)注
0文章
28瀏覽量
8108 -
PHP
+關(guān)注
關(guān)注
0文章
452瀏覽量
26690 -
Shell腳本
+關(guān)注
關(guān)注
0文章
36瀏覽量
7971
發(fā)布評論請先 登錄
相關(guān)推薦
評論