shell 判斷字符串是否存在數(shù)組中的實(shí)現(xiàn)示例
語法格式: [[ "${array[@]}" =~ "字符串" ]]
示例:
#!/bin/sh ##數(shù)組 array=( address base cart company store ) # $1 如果存在,輸出 $1 exists,$1 如果不存在,輸出 $1 not exists if [ "$1" != null ];then if [[ "${array[@]}" =~ "${1}" ]]; then echo "$1 exists" elif [[ ! "${array[@]}" =~ "${1}" ]]; then echo "$1 not exists" fi else echo "請(qǐng)傳入一個(gè)參數(shù)" fi
擴(kuò)展:
這種方式不僅可以判斷字符串是否存在數(shù)組中,也快判斷字符串是否存在一個(gè)文本中。
## 判斷字符串是否存在文本中 #!/bin/sh names="This is a computer , I am playing games in the computer" if [[ "${names[@]}" =~ "playing" ]]; then echo '字符串存在' fi
shell將字符串分隔成數(shù)組
#!/bin/bash a="hello,world,nice,to,meet,you" #要將$a分割開,先存儲(chǔ)舊的分隔符 OLD_IFS="$IFS" #設(shè)置分隔符 IFS="," #如下會(huì)自動(dòng)分隔 arr=($a) #恢復(fù)原來的分隔符 IFS="$OLD_IFS" #遍歷數(shù)組 for s in ${arr[@]} do echo "$s" done
變量$IFS存儲(chǔ)著分隔符,這里我們將其設(shè)為逗號(hào) "," OLD_IFS用于備份默認(rèn)的分隔符,使用完后將之恢復(fù)默認(rèn)。
arr=($a)用于將字符串$a按IFS分隔符分割到數(shù)組$arr
${arr[0]} ${arr[1]} ... 分別存儲(chǔ)分割后的數(shù)組第1 2 ... 項(xiàng)
${arr[@]}存儲(chǔ)整個(gè)數(shù)組。
${!arr[@]}存儲(chǔ)整個(gè)索引值:1 2 3 4 ...
${#arr[@]} 獲取數(shù)組的長(zhǎng)度。
到此這篇關(guān)于shell 判斷字符串是否存在數(shù)組中的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)shell 判斷字符串在數(shù)組中內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Shell腳本實(shí)現(xiàn)的陽歷轉(zhuǎn)農(nóng)歷代碼分享
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)的陽歷轉(zhuǎn)農(nóng)歷代碼分享,本文是作者一個(gè)星期的工作成果,得來不易,需要的朋友可以參考下2014-09-09解決linux下openoffice word文件轉(zhuǎn)PDF中文亂碼的問題
下面小編就為大家?guī)硪黄鉀Qlinux下openoffice word文件轉(zhuǎn)PDF中文亂碼的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11linux定時(shí)任務(wù)出現(xiàn)command not found解決辦法
這篇文章主要介紹了 linux定時(shí)任務(wù)出現(xiàn)command not found解決辦法的相關(guān)資料,需要的朋友可以參考下2017-05-05Shell腳本批量重命名文件后綴的3種實(shí)現(xiàn)
這篇文章主要介紹了Shell腳本批量重命名文件后綴的3種實(shí)現(xiàn),本文分別使用find + xargs +sed、for循環(huán)、rename等3種方法實(shí)現(xiàn)重命名文件后綴,需要的朋友可以參考下2014-09-09