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