單引號字符串的限制:
單引號里的任何字符都會原樣輸出伸但,單引號字符串中的變量是無效的;
單引號字串中不能出現(xiàn)單引號(對單引號使用轉(zhuǎn)義符后也不行)头遭。
雙引號的優(yōu)點(diǎn):
雙引號里可以有變量
雙引號里可以出現(xiàn)轉(zhuǎn)義字符
拼接字符串
your_name="qinjx"
greeting="hello,?"$your_name"?!"
greeting_1="hello,?${your_name}?!"
echo?$greeting?$greeting_1
獲取字符串長度
string="abcd"
echo?${#string}?#輸出4
提取子字符串
string="alibaba is a great company"
echo?${string:1:4}?#輸出liba
查找子字符串
string="alibaba is a great company"
echo?`expr?index"$string"is
數(shù)組
bash支持一維數(shù)組(不支持多維數(shù)組),并且沒有限定數(shù)組的大小垢袱。類似與C語言启搂,數(shù)組元素的下標(biāo)由0開始編號硼控。獲取數(shù)組中的元素要利用下標(biāo),下標(biāo)可以是整數(shù)或算術(shù)表達(dá)式胳赌,其值應(yīng)大于或等于0牢撼。
定義數(shù)組
在Shell中,用括號來表示數(shù)組疑苫,數(shù)組元素用“空格”符號分割開熏版。定義數(shù)組的一般形式為:
例如:
array_name=(value0?value1?value2?value3)
或者
array_name=(
value0
value1
value2
value3
)
可以不使用連續(xù)的下標(biāo),而且下標(biāo)的范圍沒有限制捍掺。
讀取數(shù)組
讀取數(shù)組元素值的一般格式是:
例如:
valuen=${array_name[2]}
舉個例子:
#!/bin/sh
NAME[0]="Zara"
NAME[1]="Qadir"
NAME[2]="Mahnaz"
NAME[3]="Ayan"
NAME[4]="Daisy"
echo"First?Index:?${NAME[0]}"
echo"Second?Index:?${NAME[1]}"
運(yùn)行腳本撼短,輸出:
$./test.sh
First?Index:?Zara
Second?Index:?Qadir
使用@ 或 * 可以獲取數(shù)組中的所有元素,例如:
# 取得數(shù)組元素的個數(shù)
length=${#array_name[@]}
#?或者
length=${#array_name[*]}
#?取得數(shù)組單個元素的長度
lengthn=${#array_name[n]}