3 回答

TA貢獻1784條經驗 獲得超9個贊

TA貢獻1757條經驗 獲得超8個贊
下面是實現這一目標的一個小功能。搜索字符串是第一個參數,其余的是數組元素:
containsElement () {
local e match="$1"
shift
for e; do [[ "$e" == "$match" ]] && return 0; done
return 1
}
該函數的測試運行如下所示:
$ array=("something to search for" "a string" "test2000")
$ containsElement "a string" "${array[@]}"
$ echo $?
0
$ containsElement "blaha" "${array[@]}"
$ echo $?
1

TA貢獻1852條經驗 獲得超1個贊
array_to_string_internal()
if [[ " ${array[@]} " =~ " ${value} " ]]; then # whatever you want to do when arr contains valuefiif [[ ! " ${array[@]} " =~ " ${value} " ]]; then # whatever you want to do when arr doesn't contain valuefi
array=("Jack Brown")value="Jack"
Jack
IFS
IFS=$'\t'array=("Jack Brown\tJack Smith")unset IFS value="Jack Smith"if [[ "\t${array[@]}\t" =~ "\t${value}\t" ]]; then echo "yep, it's there"fi
- 3 回答
- 0 關注
- 606 瀏覽
添加回答
舉報