22 lines
		
	
	
		
			434 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			434 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| cidr2mask() {
 | |
|     local i mask=""
 | |
|     local full_octets=$(($1 / 8))
 | |
|     local partial_octet=$(($1 % 8))
 | |
| 
 | |
|     for ((i = 0; i < 4; i += 1)); do
 | |
|         if [ $i -lt $full_octets ]; then
 | |
|             mask+=255
 | |
|         elif [ $i -eq $full_octets ]; then
 | |
|             mask+=$((256 - 2 ** (8 - partial_octet)))
 | |
|         else
 | |
|             mask+=0
 | |
|         fi
 | |
|         test $i -lt 3 && mask+=.
 | |
|     done
 | |
| 
 | |
|     echo $mask
 | |
| }
 | |
| 
 | |
| cidr2mask "$@"
 |