語法格式: [[ "${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 "請傳入一個參數(shù)"
fi
擴展:
這種方式不僅可以判斷字符串是否存在數(shù)組中,也快判斷字符串是否存在一個文本中。
## 判斷字符串是否存在文本中
#!/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分割開,先存儲舊的分隔符
OLD_IFS="$IFS"
#設置分隔符
IFS=","
#如下會自動分隔
arr=($a)
#恢復原來的分隔符
IFS="$OLD_IFS"
#遍歷數(shù)組
for s in ${arr[@]}
do
echo "$s"
done
變量$IFS存儲著分隔符,這里我們將其設為逗號 "," OLD_IFS用于備份默認的分隔符,使用完后將之恢復默認。
arr=($a)用于將字符串$a按IFS分隔符分割到數(shù)組$arr
${arr[0]} ${arr[1]} ... 分別存儲分割后的數(shù)組第1 2 ... 項
${arr[@]}存儲整個數(shù)組。
${!arr[@]}存儲整個索引值:1 2 3 4 ...
${#arr[@]} 獲取數(shù)組的長度。
到此這篇關于shell 判斷字符串是否存在數(shù)組中的實現(xiàn)示例的文章就介紹到這了,更多相關shell 判斷字符串在數(shù)組中內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- shell腳本字符串和數(shù)組的使用操作方法