shell 變量
定義一個變量
my_first_var=1
如上代碼所示,定義了一個變量名爲my_first_var
的變量,並且將其變量的值賦爲1。
注意
- 命名只能用英文字母,數字和下劃線,首個字符不能用數字開頭。
- 中間不能有空格,可以使用下劃線 ‘_’
- 不能使用bash中的關鍵字
無效的命名方式:
?var=1 #禁止以標點符號和數字打頭
a*b=12 #禁止標點符號
使用一個變量
使用變量需要向定義好的變量前加$
符號進行使用。
#!/bin/sh
# #表示註釋
# Filename: xxx.sh
#auto echo hello world!
#by authors dhy
var=2s
echo $var #使用$var來打印變量
echo ${var} #花括號爲可選項,標誌變量邊界,可以省略
echo "hello world!" #也可以直接打印字符串
變量的類型
字符串類型
單引號字符串 ‘string’
單引號字符串就單純表示單引號內部的全部爲字符串,沒有變量等其他元素。
例如:
var='my first bash'
echo '$var' # 只打印$var,不會進行變量解析
運行結果如下:
單引號下的字符串中,不會進行變量等其他的解析
雙引號字符串 “string”
var='my first bash'
echo "this is $var" # 雙引號下,會進行變量解析和其他操作
運行結果如下:
雙引號下會進行變量解析,和其他計算操作
獲取字符串長度
string="my name is dhy"
echo "${#string}" #花括號意思就是,先將內部計算了
提取子字符串
string="my name is dhy"
echo "${string:1:4}" #輸出第一個到第四個
數組類型
數組中可以存放不同種類元素
定義一個數組:
arr=(1 2 3 val1 val2 val3)
單獨給某個變量賦值
arr[0]=value0
讀取數組
arr=(1 2 3 val1 val2 val3)
echo "The first val is ${arr[0]}" #需要加上{}
數組大小
arr=(1 2 3 val1 val2 val3)
echo "the length in arr is ${#arr[@]}"