字串是shell程式設計中最常用最有用的資料型別(除了數字和字串,也沒啥其它型別好用了),字串可以用單引號,也可以用雙引號,也可以不用引號。單雙引號的區別跟php類似:
單雙引號的區別:
輸出:#!/bin/bash
str1='i'
str2='love'
str3='you'
echo $str1 $str2 $str3
echo $str1$str2$str3
echo $str1,$str2,$str3
i love you
iloveyou
i,love,you
#!/bin/bash/
str='i love you'
echo $
# 輸出:10
輸出:#!/bin/bash/
str='i love you'
echo $ # 從第1個擷取到末尾。注意從0開始。
echo $ # 從第2個擷取2個。
echo $ # 全部擷取。
echo $ # 負數無效,視為0。
love you
loi love you
i love you
輸出:#!/bin/bash/
str="i love you"
echo `expr index "$str" l`
echo `expr index "$str" love` #最後乙個引數是字元,字串只保留首字母
echo `expr index "$str" o`
echo `expr length "$str"` #字串長度
echo `expr substr "$str" 1 6` #從字串中位置1開始擷取6個字元。索引是從0開始的。
注意字串變數需要加雙引號。334
10i love
bash支援一維陣列(不支援多維陣列),並且沒有限定陣列的大小。類似與c語言,陣列元素的下標由0開始編號。獲取陣列中的元素要利用下標,下標可以是整數或算術表示式,其值應大於或等於0。string : regexp anchored pattern match of regexp in string
match string regexp same as string : regexp
substr string pos length #從string中pos位置開始擷取length個字元。pos索引是從1開始的。
index string chars #在string中查詢字元chars首次出現的位置,沒有找到返回0
length string #字串長度
在shell中,用括號來表示陣列,陣列元素用空格
符號分割開。定義陣列的一般形式為:
array_name=(value1 value2 ... valuen)
例如:
array_name=(value0 value1 value2 value3)
或者
還可以單獨定義陣列的各個分量:array_name=(
value0
value1
value2
value3
)
可以不使用連續的下標,而且下標的範圍沒有限制。array_name[0]=value0
array_name[1]=value1
array_name[2]=value2
下面來讀取陣列:
輸出:echo $ #讀取下標為2的元素
echo $ #讀取所有元素
echo $ #讀取所有元素
echo $ #獲取陣列長度
echo $ #獲取陣列長度
echo $ #獲取陣列中單個元素的長度
對比shell裡字串和陣列,我們發現:value2
value0 value1 value2 value3
value0 value1 value2 value344
6
字串
陣列:str="hello"
$ # 讀取字串長度
echo $ # 讀取字串全部
echo $ # 擷取字串
arr=(a1,a2,a3)
$ # 讀取陣列長度
$ # 讀取陣列某個元素長度
echo $ # 讀取陣列全部
echo $ # 讀取陣列某個元素
$
用來讀取ele元素長度屬性
$
用來讀取或操作ele元素
3 字串 向量和資料
表示物件的集合,也叫容器,是乙個類模板 include using std vector 迭代器型別 vector int iterator it it能讀寫vector的元素 string iterator it it能讀寫string物件中的元素 vector int const iterato...
shell指令碼學習5 字串和注釋
1 shell注釋 以 開頭的行就是注釋,會被直譯器忽略。sh裡沒有多行注釋,只能每一行加乙個 號。只能像這樣 純文字 複製 這是乙個自動打ipa的指令碼,基於webfrogs的ipa build書寫 特色 全自動打包,不需要輸入任何引數 使用者配置區 開始 專案根目錄,推薦將此指令碼放在專案的根目...
Shell指令碼的學習筆記二 字串
專案功能 單引號原樣輸出,變數無效。但可用成對單引號巢狀成對單引號輸出變數 雙引號定義字串中附帶有變數的命令並且想將其解析後再輸出的變數。1.單引號 bin bash test try to do it.echo i say 1 echo 使用轉義字元會報錯,2 echo i say 3 單引號字串...