小言_互联网的博客

shell脚本制作安装包

280人阅读  评论(0)

#!/bin/sh

# ANSI COLORS
COLOR_CRE=" [K"
COLOR_NORMAL=" [0;39m"
COLOR_RED=" [1;31m"
COLOR_GREEN=" [1;32m"
COLOR_YELLOW=" [1;33m"
COLOR_BLUE=" [1;34m"
COLOR_MAGENTA=" [1;35m"
COLOR_CYAN=" [1;36m"
COLOR_WHITE=" [1;37m"

#$1: string
#$2: color
ECHO()
{
[ -n "$2" ] && eval echo -n \"\${${2}}\";
echo "${1}${COLOR_NORMAL}"
}

MAC_FROM_IP()
{
local_ip=$1
ip_seg1=`echo $local_ip | awk -F. '{print $1}'`
ip_seg2=`echo $local_ip | awk -F. '{print $2}'`
ip_seg3=`echo $local_ip | awk -F. '{print $3}'`
ip_seg4=`echo $local_ip | awk -F. '{print $4}'`

mac_seg1=`printf "%02X" $ip_seg1`
mac_seg2=`printf "%02X" $ip_seg2`
mac_seg3=`printf "%02X" $ip_seg3`
mac_seg4=`printf "%02X" $ip_seg4`

local_mac="80:00:$mac_seg1:$mac_seg2:$mac_seg3:$mac_seg4"

echo $local_mac
return 0
}

MODULE_NAME=nvr
ECHO "Start to install [$MODULE_NAME]" COLOR_YELLOW

###### read train_no
ECHO "Please input train_no[1-31]:" COLOR_MAGENTA
read train_no
if [ ! $train_no ] ;then
ECHO "train_no is null, please input a train number!" COLOR_RED
exit 0
fi
ECHO "your input train_no = $train_no" COLOR_MAGENTA

if [ $train_no -le 0 -o $train_no -gt 31 ];then
ECHO "train_no out of range, [1-31]" COLOR_RED
exit 0
fi

###### read car_no
ECHO "Please input car_no[1-30]:" COLOR_MAGENTA
read car_no
if [ ! $car_no ] ;then
ECHO "car_no is null, please input a car number!" COLOR_RED
exit 0
fi
ECHO "your input car_no = $car_no" COLOR_MAGENTA

if [ $car_no -le 0 -o $car_no -gt 30 ];then
ECHO "car_no out of range, [1-30]" COLOR_RED
exit 0
fi

###### read nvr_no ======
ECHO "Please input nvr_no[1-2]:" COLOR_MAGENTA
read nvr_no
if [ ! $nvr_no ] ;then
ECHO "nvr_no is null, please input a nvr number!" COLOR_RED
exit 0
fi
ECHO "your input nvr_no = $nvr_no" COLOR_MAGENTA

if [ $nvr_no -le 0 -o $nvr_no -gt 2 ];then
ECHO "nvr_no out of range, [1-2]" COLOR_RED
exit 0
fi

ECHO "Start to install [$MODULE_NAME]" COLOR_YELLOW

ip_seg=$(($car_no + 10))
#ip="10.1.$ip_seg.$nvr_no"
ip="12.1.$ip_seg.$nvr_no"
mac=$(MAC_FROM_IP $ip)

if [ $car_no -eq 1 ]
then
if [ $nvr_no -eq 1 ]
then
ip_tmp_1=$(($train_no-1))
ip_tmp_2=$(($ip_tmp_1 * 2))
ip_tmp_3=$(($ip_tmp_2+1))
ip_ext="192.168.1.91"
ip_ext_vir="10.18.40.$ip_tmp_3"
elif [ $nvr_no -eq 2 ]
then
ip_tmp_1=$(($train_no-1))
ip_tmp_2=$(($ip_tmp_1 * 2))
ip_tmp_3=$(($ip_tmp_2+2))
ip_ext="192.168.1.111"
ip_ext_vir="10.18.40.$ip_tmp_3"
fi;
elif [ $car_no -eq 6 ]
then
if [ $nvr_no -eq 1 ]
then
ip_tmp_1=$(($train_no-1))
ip_tmp_2=$(($ip_tmp_1 * 2))
ip_tmp_3=$(($ip_tmp_2+111))
ip_ext="192.168.1.92"
ip_ext_vir="10.18.40.$ip_tmp_3"
elif [ $nvr_no -eq 2 ]
then
ip_tmp_1=$(($train_no-1))
ip_tmp_2=$(($ip_tmp_1 * 2))
ip_tmp_3=$(($ip_tmp_2+112))
ip_ext="192.168.1.222"
ip_ext_vir="10.18.40.$ip_tmp_3"
fi;
fi;

mac_ext=$(MAC_FROM_IP $ip_ext)
mac_ext_vir=$(MAC_FROM_IP $ip_ext_vir)

ECHO "====== eth0 ip= $ip_ext" COLOR_MAGENTA
ECHO "====== eth0 mac= $mac_ext" COLOR_MAGENTA
ECHO "====== eth1 ip= $ip" COLOR_MAGENTA
ECHO "====== eth1 mac= $mac" COLOR_MAGENTA
ECHO "====== eth1:0 ip= $ip_ext_vir" COLOR_MAGENTA
ECHO "====== eth1:0 mac= $mac_ext_vir" COLOR_MAGENTA
 


转载:https://blog.csdn.net/aabbcc_007008/article/details/102328175
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场