wsl2自動啓動服務並且自動更新hosts文件裏的ip

在子系統中創建腳本

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地址
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章