linux如何添加hosts解析(windows下的linux系统ip自动绑定在hosts文件中)

前言

windows系统的linux,在每一次启动的时候ip总是变动的,导致在windows系统中连接linux下的mysql服务总是失败,那是否可以在启动linux系统的时候就将ip地址绑定到windows的hosts文件中呢?这样通过本地的域名就能连接到linux系统的服务了。

编写脚本

编写shell脚本:modify_hosts.sh

#!/bin/bash params[1]=$1 # get ip address ip_addr=$(ip addr|grep eth0|grep inet|awk '{print $2}'|cut -d / -f 1) # ifconfig eth0|sed -n '2p'|awk '{print $2}' #该命令获取ip地址更为简洁 # 判断参数是否为空 if [ -z ${params[1]} ] then #为空,则获取系统的名称 sys_name=$(cat /etc/lsb-release|grep ID|cut -d = -f 2) else #不为空,则取第一个参数名 sys_name=${params[1]} fi host_name=$sys_name".wsl" win_host_path=/mnt/c/Windows/System32/drivers/etc/HOSTS #获取行号 line_no=$(nl -b a $win_host_path|grep $host_name|awk '{print $1}') for line in $line_no do #删除该行的内容 sed -i $line'd' $win_host_path done #追加ip的映射 echo $ip_addr' '$host_name >> $win_host_path [ -f "$win_host_path" ] && echo "windows host:"$(nl $win_host_path|grep $host_name) && echo 'linux ip addr:'$ip_addr exit 0

自动执行

为了能让脚本每次启动的时候自动运行,可以修改~/.bashrc文件,并在最后添加如下代码:

bash /root/shell_scripts/modify_host.sh myubuntu # 下面的代码是想每次启动的时候确保mysql服务也启动了 service mysql status|grep -w stopped if [ $? -eq 0 ] then service mysql start fi

linux如何添加hosts解析(windows下的linux系统ip自动绑定在hosts文件中)(1)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页