wsl2自动启动服务并且自动更新hosts文件里的ip

原创
09/14 09:58
阅读数 456

在子系统中创建脚本

vim /etc/init.wsl

脚本内容如下

#! /bin/sh
/etc/init.d/ssh start
/etc/init.d/httpd start
/etc/init.d/mysql start
export WSLIP=$(ip addr show eth0 | grep 'inet ' | cut -f 6 -d ' ' | cut -f 1 -d '/')
vim "+:%s/^\d\+\.\d\+\.\d\+\.\d\+\(.*yy.com\)/$WSLIP\1/g" '+:wq' -E /mnt/c/Windows/System32/drivers/etc/hosts
vim "+:%s/^\d\+\.\d\+\.\d\+\.\d\+\(.*yy.com\)/$WSLIP\1/g" '+:wq' -E /etc/hosts

*.yy.com是我写在hosts中的自定义域名,用于本地网站搭建

在Windows中创建脚本 在Windows下 输入快捷键 WIN+R 打开运行窗口 输入 shell:startup 打开Windows 启动脚本目录 在该目录下新建 linux-start.vbs 内容如下

Set ws = WScript.CreateObject("WScript.Shell")        
ws.run "wsl -d Ubuntu-18.04 -u root /etc/init.wsl"

上面脚本中的 wsl -d 后面的参数是你所安装的子系统的版本 可以通过wsl -l查看 现在可以重启Windows验证下

参考了下面两篇文章

  1. Windows中的WSL2(子系统)开机启动配置
  2. WSL2中自动配置Windows IP地址
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部