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