Added function into a files not in zshrc
This commit is contained in:
		
							
								
								
									
										21
									
								
								.local/bin/cidr2mask
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										21
									
								
								.local/bin/cidr2mask
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,21 @@ | |||||||
|  | #!/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 "$@" | ||||||
							
								
								
									
										20
									
								
								.local/bin/mask2cidr
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										20
									
								
								.local/bin/mask2cidr
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,20 @@ | |||||||
|  | #!/bin/bash | ||||||
|  | mask2cidr() { | ||||||
|  |     local mask=$1 | ||||||
|  |  | ||||||
|  |     # In RFC 4632 netmasks there's no "255." after a non-255 byte in the mask | ||||||
|  |     local left_stripped_mask=${mask##*255.} | ||||||
|  |     local len_mask=${#mask} | ||||||
|  |     local len_left_stripped_mask=${#left_stripped_mask} | ||||||
|  |  | ||||||
|  |     local conversion_table=0^^^128^192^224^240^248^252^254^ | ||||||
|  |     local number_of_bits_stripped=$(((len_mask - len_left_stripped_mask) * 2)) | ||||||
|  |     local signifacant_octet=${left_stripped_mask%%.*} | ||||||
|  |  | ||||||
|  |     local right_stripped_conversion_table=${conversion_table%%$signifacant_octet*} | ||||||
|  |     local len_right_stripped_conversion_table=${#right_stripped_conversion_table} | ||||||
|  |     local number_of_bits_from_conversion_table=$((len_right_stripped_conversion_table / 4)) | ||||||
|  |     echo $((number_of_bits_stripped + number_of_bits_from_conversion_table)) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | mask2cidr "$@" | ||||||
							
								
								
									
										37
									
								
								.zshrc
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								.zshrc
									
									
									
									
									
								
							| @@ -16,43 +16,6 @@ gbranch() { | |||||||
|     echo -e "$(git branch "$@")" |     echo -e "$(git branch "$@")" | ||||||
| } | } | ||||||
|  |  | ||||||
| mask2cidr() { |  | ||||||
|     local mask=$1 |  | ||||||
|  |  | ||||||
|     # In RFC 4632 netmasks there's no "255." after a non-255 byte in the mask |  | ||||||
|     local left_stripped_mask=${mask##*255.} |  | ||||||
|     local len_mask=${#mask} |  | ||||||
|     local len_left_stripped_mask=${#left_stripped_mask} |  | ||||||
|  |  | ||||||
|     local conversion_table=0^^^128^192^224^240^248^252^254^ |  | ||||||
|     local number_of_bits_stripped=$((($len_mask - $len_left_stripped_mask) * 2)) |  | ||||||
|     local signifacant_octet=${left_stripped_mask%%.*} |  | ||||||
|  |  | ||||||
|     local right_stripped_conversion_table=${conversion_table%%$signifacant_octet*} |  | ||||||
|     local len_right_stripped_conversion_table=${#right_stripped_conversion_table} |  | ||||||
|     local number_of_bits_from_conversion_table=$((len_right_stripped_conversion_table / 4)) |  | ||||||
|     echo $(($number_of_bits_stripped + $number_of_bits_from_conversion_table)) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| 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 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| [ -f /etc/gentoo-release ] && export ZSH="/usr/share/zsh/site-contrib/oh-my-zsh" | [ -f /etc/gentoo-release ] && export ZSH="/usr/share/zsh/site-contrib/oh-my-zsh" | ||||||
| [ -f /etc/centos-release ] && export ZSH="$HOME/.oh-my-zsh" | [ -f /etc/centos-release ] && export ZSH="$HOME/.oh-my-zsh" | ||||||
| [ -f /etc/debian_version ] && export ZSH="$HOME/.oh-my-zsh" | [ -f /etc/debian_version ] && export ZSH="$HOME/.oh-my-zsh" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user