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[*]}
將字串分隔成陣列
#!/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 #!/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[@]} 獲取陣列的長度。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2733662/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- shell指令碼(6)-shell陣列指令碼陣列
- Bash Shell指令碼中的陣列使用例項指令碼陣列
- shell 使用陣列及字串擷取陣列字串
- Linux 使用 shell 指令碼處理字串Linux指令碼字串
- shell切分字串到陣列字串陣列
- 陣列和字串陣列字串
- 字串和陣列常用方法整理字串陣列
- JS中字串和陣列的常用方法JS字串陣列
- 使用Python和Java呼叫Shell指令碼時的死鎖陷阱PythonJava指令碼
- 使用g開頭的陣列字串的解析陣列字串
- shell指令碼擷取字串字尾名,檔名指令碼字串
- Shell指令碼介紹與使用指令碼
- 面試必備:陣列和字串面試陣列字串
- 工作中常用的字串和陣列方法字串陣列
- linux Shell 命令列-03-array Shell 陣列Linux命令列陣列
- shell指令碼指令碼
- Shell 陣列介紹陣列
- String字串,陣列字串陣列
- 監控磁碟使用率的shell指令碼指令碼
- 新增多個使用者的shell指令碼指令碼
- shell的引數和指令碼流程改進指令碼
- 使用shell 指令碼備份資料指令碼
- 如何使用zx編寫shell指令碼指令碼
- Linux命令和shell指令碼學習Linux指令碼
- shell和bash指令碼命令學習指令碼
- 主題 2 Shell工具和指令碼指令碼
- js陣列操作方法小結JS陣列
- linux常用的shell指令碼Linux指令碼
- shell指令碼案例指令碼
- 常用shell指令碼指令碼
- Linux Shell指令碼Linux指令碼
- javascript中常用的陣列操作方法,以及是否會改變原始陣列JavaScript陣列
- iOS使用shell指令碼注入混淆內容iOS指令碼
- iOS使用shell指令碼批量修改屬性iOS指令碼
- shell指令碼技巧—建立和清空檔案指令碼
- 字元陣列與字串字元陣列字串
- C++陣列 字串C++陣列字串
- 程式碼上線的shell指令碼指令碼