11#! /usr/bin/env bash
2-
2+ # shellcheck disable=SC2154
33# ==================================================================
44# bb-functions.d/network
55# ==================================================================
1111# License: MIT License
1212# Copyright: Copyright © 2023 Darren (Ragdata) Poulton
1313# ==================================================================
14+ # DEPENDENCIES
15+ # ==================================================================
16+ # ==================================================================
1417# FUNCTIONS
1518# ==================================================================
19+ # ------------------------------------------------------------------
20+ # net::getCIDR
21+ # ------------------------------------------------------------------
22+ net::getCIDR ()
23+ {
24+ [[ -z $1 ]] && errorExit " Cowardly refusing to calculate something for nothing!"
25+
26+ [[ ! $1 =~ $isIPv4 ]] && errorExit " You must input a standard netmask for this function (ie: 255.255.255.0)"
27+
28+ [[ $1 == " 255.255.255.255" ]] && echo " /32"
29+ [[ $1 == " 255.255.255.254" ]] && echo " /31"
30+ [[ $1 == " 255.255.255.252" ]] && echo " /30"
31+ [[ $1 == " 255.255.255.248" ]] && echo " /29"
32+ [[ $1 == " 255.255.255.240" ]] && echo " /28"
33+ [[ $1 == " 255.255.255.224" ]] && echo " /27"
34+ [[ $1 == " 255.255.255.192" ]] && echo " /26"
35+ [[ $1 == " 255.255.255.128" ]] && echo " /25"
36+ [[ $1 == " 255.255.255.0" ]] && echo " /24"
37+ [[ $1 == " 255.255.254.0" ]] && echo " /23"
38+ [[ $1 == " 255.255.252.0" ]] && echo " /22"
39+ [[ $1 == " 255.255.248.0" ]] && echo " /21"
40+ [[ $1 == " 255.255.240.0" ]] && echo " /20"
41+ [[ $1 == " 255.255.224.0" ]] && echo " /19"
42+ [[ $1 == " 255.255.192.0" ]] && echo " /18"
43+ [[ $1 == " 255.255.128.0" ]] && echo " /17"
44+ [[ $1 == " 255.255.0.0" ]] && echo " /16"
45+ [[ $1 == " 255.254.0.0" ]] && echo " /15"
46+ [[ $1 == " 255.252.0.0" ]] && echo " /14"
47+ [[ $1 == " 255.248.0.0" ]] && echo " /13"
48+ [[ $1 == " 255.240.0.0" ]] && echo " /12"
49+ [[ $1 == " 255.224.0.0" ]] && echo " /11"
50+ [[ $1 == " 255.192.0.0" ]] && echo " /10"
51+ [[ $1 == " 255.128.0.0" ]] && echo " /9"
52+ [[ $1 == " 255.0.0.0" ]] && echo " /8"
53+ [[ $1 == " 254.0.0.0" ]] && echo " /7"
54+ [[ $1 == " 252.0.0.0" ]] && echo " /6"
55+ [[ $1 == " 248.0.0.0" ]] && echo " /5"
56+ [[ $1 == " 240.0.0.0" ]] && echo " /4"
57+ [[ $1 == " 224.0.0.0" ]] && echo " /3"
58+ [[ $1 == " 192.0.0.0" ]] && echo " /2"
59+ [[ $1 == " 128.0.0.0" ]] && echo " /1"
60+ }
0 commit comments