shell中数组匹配的问题

来源:互联网 发布:余弦距离相似性算法 编辑:程序博客网 时间:2024/06/06 12:47

nodeip=(
122.224.73.163
122.224.73.164
122.224.73.165
222.88.57.247
113.140.1.214
)

closeip=(
222.88.57.247
113.140.1.214
)

我要实现的echo nodeip中,不包括closeip的ip,请问怎么实现?
上例中,就是排除
222.88.57.247
113.140.1.214

输出
122.224.73.163
122.224.73.164

代码:

#! /bin/bash

nodeip=(
122.224.73.163
122.224.73.164
122.224.73.165
222.88.57.247
113.140.1.214
)

closeip=(
222.88.57.247
113.140.1.214
)

for ip in ${nodeip[@]}
do
        if echo ${closeip[@]} | grep -Eq "/<$ip/>"
        then
                echo "IP $ip is closed"
        else
                ping ......
        fi
done