字符串
可以使用單引號和雙引號定義字符串變量但是單引號中不支持變量解析
#! /bin/bashusername="mayuan"str_1="hello ${username}" str_2='hello ${username}'echo $str_1 # hello mayuanecho $str_2 # hello ${username}
獲取字符串的長度
#! /bin/bashusername="mayuan"echo ${#username} # 6
截取字符串
#! /bin/bashusername="mayuan"echo ${username:1:3} # 從第二個字符開始截取3個字符輸出"ayu"
查找指定字符
#! /bin/bashusername="mayuan"echo $(expr index "${username}" y) #查找y在指定字符的位置
數組
#! /bin/basharr=(1 2 3 4 5)echo ${arr[0]} #輸出1echo ${arr[1]} #輸出2
獲取數組長度
#! /bin/basharr=(1 2 3 4 5)echo ${#arr[@]} #輸出5echo ${#arr[*]}
PS:下面給大家介紹shell將字符串分隔成數組
#!/bin/basha="hello,world,nice,to,meet,you"#要將$a分割開,先存儲舊的分隔符OLD_IFS="$IFS"#設置分隔符IFS="," #如下會自動分隔arr=($a)#恢復原來的分隔符IFS="$OLD_IFS"#遍歷數組for s in ${arr[@]}doecho "$s"done
變量$IFS存儲著分隔符,這里我們將其設為逗號 "," OLD_IFS用于備份默認的分隔符,使用完后將之恢復默認。
arr=($a)用于將字符串$a按IFS分隔符分割到數組$arr
${arr[0]} ${arr[1]} ... 分別存儲分割后的數組第1 2 ... 項
${arr[@]}存儲整個數組。
${!arr[@]}存儲整個索引值:1 2 3 4 ...
${#arr[@]} 獲取數組的長度。
總結
以上所述是小編給大家介紹的shell腳本字符串和數組的使用操作方法 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
新聞熱點
疑難解答