您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)怎么在shell腳本中使用字符串和數(shù)組,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
字符串
可以使用單引號和雙引號定義字符串變量但是單引號中不支持變量解析
#! /bin/bash username="mayuan" str_1="hello ${username}" str_2='hello ${username}' echo $str_1 # hello mayuan echo $str_2 # hello ${username}
獲取字符串的長度
#! /bin/bash username="mayuan" echo ${#username} # 6
截取字符串
#! /bin/bash username="mayuan" echo ${username:1:3} # 從第二個字符開始截取3個字符輸出"ayu"
查找指定字符
#! /bin/bash username="mayuan" echo $(expr index "${username}" y) #查找y在指定字符的位置
數(shù)組
#! /bin/bash arr=(1 2 3 4 5) echo ${arr[0]} #輸出1 echo ${arr[1]} #輸出2
獲取數(shù)組長度
#! /bin/bash arr=(1 2 3 4 5) echo ${#arr[@]} #輸出5 echo ${#arr[*]}
PS:下面給大家介紹shell將字符串分隔成數(shù)組
#!/bin/bash a="hello,world,nice,to,meet,you" #要將$a分割開,先存儲舊的分隔符 OLD_IFS="$IFS" #設(shè)置分隔符 IFS="," #如下會自動分隔 arr=($a) #恢復(fù)原來的分隔符 IFS="$OLD_IFS" #遍歷數(shù)組 for s in ${arr[@]} do echo "$s" done
變量$IFS存儲著分隔符,這里我們將其設(shè)為逗號 "," OLD_IFS用于備份默認(rèn)的分隔符,使用完后將之恢復(fù)默認(rèn)。
arr=($a)用于將字符串$a按IFS分隔符分割到數(shù)組$arr
${arr[0]} ${arr[1]} ... 分別存儲分割后的數(shù)組第1 2 ... 項
${arr[@]}存儲整個數(shù)組。
${!arr[@]}存儲整個索引值:1 2 3 4 ...
${#arr[@]} 獲取數(shù)組的長度。
關(guān)于怎么在shell腳本中使用字符串和數(shù)組就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。