Bash 实现子网掩码与前缀长度互转
前缀长度转换为子网掩码
#!/bin/bash
# date: 2018-03-03
# license: GPLv3 https://www.gnu.org/licenses/gpl-3.0.txt
# author: nanpuyue <[email protected]> https://blog.nanpuyue.com
num=$((4294967296 - 2**(32-$1)))
for i in {3..0};do
echo -n $((num / 256**i))
num=$((num % 256**i))
(($i == 0)) && echo || echo -n .
done
这段脚本完全使用 Bash 内置函数实现,不调用外部进程。