文章插圖

文章插圖
在實際工作中,會涉及到已知子網掩碼,需要求子網掩碼位數的情況 。下面分享一個轉換的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如何創建文件夾和文件
