Bash数组-判断某个元素是否在数组内的几种方法

声明一个数组array,一个待测试元素var

array=(
element1
element2
element3
)

var="element1"

接下来用几种方法来分别测试var是否是array中的元素

判断方法1:

echo "${array[@]}" | grep -wq "$var" &&  echo "Yes" || echo "No"

判断方法2:

for i in ${array[@]}
do
   [ "$i" == "$var" ] && echo "yes"
done

判断方法3:这是个人感觉最巧妙的一种测试方法,使用了bash数组的内置方法。

[[ ${array[@]/${var}/} != ${array[@]} ]] && echo "Yes" || echo "No"

测试演示

# 声明数组array、变量var
[root(0)@thatsit ~]# array=(
> element1
> element2
> element3
> )
[root(0)@thatsit ~]#
[root(0)@thatsit ~]# var="element1"
# 确认数组和变量值
[root(0)@thatsit ~]# echo ${array[@]}
element1 element2 element3
[root(0)@thatsit ~]# echo $var
element1
[root(0)@thatsit ~]#
# 判断方法1
[root(0)@thatsit ~]# echo "${array[@]}" | grep -wq "$var" &&  echo "Yes" || echo "No"
Yes
[root(0)@thatsit ~]#
# 判断方法2
[root(0)@thatsit ~]# for i in ${array[@]}
> do
>    [ "$i" == "$var" ] && echo "yes"
> done
yes
[root(0)@thatsit ~]#
# 判断方法3
[root(0)@thatsit ~]# [[ ${array[@]/${var}/} != ${array[@]} ]] && echo "Yes" || echo "No"
Yes
[root(0)@thatsit ~]#

转载于:https://www.cnblogs.com/thatsit/p/bash-shu-zupan-duan-mou-ge-yuan-su-shi-fou-zai-shu.html

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值