使用shell及python分别判断某个IP是否在白名单

1、shell脚本如下:
[ ~]# cat a.sh
#!/bin/bash

            ##############   定义白名单列表  ###############
white_list=(
    192.168.20.2
    192.168.20.3
    192.168.20.4
    192.168.20.5
    )

            #############     定义脚本用法  ################
function USAGE(){
echo -e "\033[33m $0 的用法为:
         -i: 指定要进行判断的ip地址
 \033[0m"
}

        ############# 对脚本传参进行判断及变量赋值  ##############
if [[ $# -eq 0 ]] || [[ $1 == ‘-h‘ ]] || [[ $1 == ‘--help‘ ]];then
    USAGE
    exit 0
fi

while getopts ":i:" optname;do
    case "$optname" in
    "i")
    ip=$OPTARG
    ;;
    *)
    echo "该选项没有值!"
    USAGE
    exit 1
    ;;

    esac
done

    ########### 判断IP是否存在于白名单内   ################
if [[ ${white_list[@]} =~ $ip ]];then
    echo "$ip is in whitelist."
else
    echo "$ip is not in whitelist."
fi

2、python脚本如下(python版本为3.8):

‘‘‘
判断某个IP是否存在白名单列表
‘‘‘
# 1.定义白名单列表
white_list = {
    ‘192.168.20.2‘,
    ‘192.168.20.3‘,
    ‘192.168.20.4‘,
    ‘192.168.20.5‘
}

# 2.接收要进行判断的IP并作出判断
def main():
    ip = input(‘请输入要判断的IP地址:‘)
    if ip in white_list:
        print(ip + ‘在白名单内!‘)
    else:
        print(ip + "不在白名单内")

# 3.程序入口
if __name__ == ‘__main__‘:
    main()