使用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()