文章插图
文章插图
在实际工作中,会涉及到已知子网掩码,需要求子网掩码位数的情况 。下面分享一个转换的shell脚本 。
首先编辑一个脚本:
vim maskdigits.sh:
#! /bin/bash
#Author:luxu
#Date:2021-07-27
netMask=$1
maskdigits(){
a=$(echo “$1″|awk -F “.” ‘{print $1 ” “$2” “$3” “$4}’)
for num in $a;
do
while [ $num != 0 ]; do
echo -n $(($num%2))>>/tmp/num;
num=$(($num/2));
done
done
echo $(grep -o “1” /tmp/num| wc -l)
rm -rf /tmp/num
}
maskNum=`echo ${#netMask}`
if [ $maskNum != 2 ]; then
netMask=`maskdigits “$netMask”`
fi
echo $netMask
编辑完脚本,需要添加执行权限 。
chmod +x maskdigits.sh
执行脚本的时候,举例如下:
./maskdigits.sh 255.255.240.0
【linux操作系统位数查看 linux查询系统位数】输出结果:20
- linux系统好用吗 可以用office吗 linux系统好用不
- Linux查看本机IP linux常用命令查看ip
- linux重启apache服务器命令 怎么重启apache服务器
- 备份linux系统到u盘 linux系统整机备份
- 常见的驱动系统有哪些 操作系统也称为设备驱动
- 定时任务 环境变量 linux设置临时环境变量命令
- linux中切换root用户 linux普通用户切换root用户
- linux如何改文件名字 linux如何改文件名称
- linux查看防火墙是否开启某端口 Linux如何查看防火墙是否开启
- linux如何创建文件夹快捷方式 linux如何创建文件夹和文件