脚本内容如下:
#/bin/bash
remote_ip=172.160.111.32
remote_hostname=lyn
case $1 in
1) echo -e '\033[0;42m Ethernet dhcp \033[0m'
VAR="eno1"
;;
2) echo -e '\033[0;46m wireless dhcp \033[0m'
VAR="wlo1"
;;
esac
HOST_IP=$(ifconfig $VAR | grep "inet" | grep -v inet6| awk '{ print $2}' | awk -
F: '{print $1}')
echo "parse ip is:" $HOST_IP
if [[ ! -n "${HOST_IP}" ]] ;then
echo -e "\033[0;31m input local ip \033[0m"
read local_ip
else
if [[ ! $(echo "${HOST_IP}" | awk -F. '{printf $1}') == "192" ]] ;then
local_ip=$HOST_IP
else
echo -e "\033[0;31m error ip \033[0m"
exit 0
fi
fi
#exit 0
if [[ $2 == 1 ]];then
build_opt="all_build"
else
build_opt=
fi
ssh -t ${remote_hostname}@${remote_ip} "/home/lyn/build.sh ip=${local_ip}
${build_opt}"
这个部分有基础技术使用:
switch case使用,if else、免密登陆,远程调用脚本。
首先是一个switch case
此处作用是进行ip地址的筛选,因为的在调试过程中,我的电脑有时候用网线连接,有时候会去测试房
去测试,用wifi连接,这个时候会进行网络ip地址的区分,当我输入./auto_build.sh 1的时候,脚本会进
行解析eno1网线分配的ip地址,当我输入./auto_build.sh 2的时候则会解析wlo1wifi分配的ip。
在里面我还用了颜色打印,进行关键词的标注,如下所示: