linux安裝nginx詳細教程「查看linux位數系統」

在實際工作中,會涉及到已知子網掩碼,需要求子網掩碼位數的情況。下面分享一個轉換的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

輸出結果:20

Linux計算子網掩碼位數的shell腳本
Linux計算子網掩碼位數的shell腳本

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/209350.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-08 15:35
下一篇 2024-12-08 15:35

相關推薦

發表回復

登錄後才能評論