1. ( )圓括號
初始化數組使用圓括號;
命令組,將一系列命令用空格隔開;
命令替換,使用$ 美元符,將命令進行嵌套使用;(有點兒類似于管道符作用的感覺)
arr=(1 2 3 4 5)
2. [ ]方括號
搭配美元符$,用于整型計算;
數組默認使用方括號提取對應下標的元素
test命令的簡寫形式就是方括號[ ],而且方括號包圍的命令兩側必須有空格隔開。用于if條件語句中;
var1=10 #變量var1,var2
var2=20
var3=$[ var1+var2+2 ]; #輸出運算結果:32
var3=$[ $var1+$var2+2]; #輸出:32
arr=(1 2 3)
echo ${arr[1]}; #輸出:2
#!/bin/bash
var1=10
var2=20
if [ $var1 -gt $var2 ]
thenecho hello linux world!
elseecho study linux now!
fi
輸出:study linux now!
3. { }花括號
用于需要變量和字符串組合輸出時,變量后拼接字符串。包住變量,避免歧義
var1=10 #變量var1
echo $var11; #未識別變量var11
echo ${var1}1; # 101,其中10是變量var1的值,1為后續字符串
arr = (1 2 3) #數組arr
echo $arr; #輸出數組第一個元素:1
echo $arr[1]; #輸出數組第一個元素和后續:1[1]
echo ${arr[1]}; #輸出數組下標為1的元素:2,數組下標從0開始
echo $arr[*]; #輸出第一個元素和后續:1[*]
echo ${arr[*]}; #避免歧義,輸出數組中的全部元素:1 2 3
4. (())雙括號
使用高級數學表達式,也可與美元符號搭配,用于整型數據計算。使用高級數學表達式時,內部不使用美元符時未報錯。
var1=10 #變量var1,var2
var2=20
var3=$((var1+var2)) #輸出30
var4=$(($var1+$var2)) #輸出30
var5=((var1+var2)) 報錯
var6=((var1+var2)) 報錯
其他測試結果
j=1
echo j #輸出j
echo $j #輸出1
k=j+1
echo $k #輸出j+1
k=(j+1)
echo $k #輸出j+1
k=$j+1
echo $k #輸出1+1
k=($j+1)
echo $k #輸出1+1
k=$((j+1))
echo $k #輸出2
k=$(j+1)
echo $k #報錯:j+1:未找到命令