判断wsl的版本
代码逻辑
通过判断 cat /proc/version,是否包含wsl等字符来判断wsl的版本。
代码
#!/bin/bash
# Get the content of /proc/version
proc_version=$(cat /proc/version)
# Check if we are running within WSL
if echo $proc_version | grep -qi 'Microsoft'; then
# Check if it's WSL1 or WSL2
if echo $proc_version | grep -qi 'WSL2'; then
version="WSL2"
else
version="WSL1"
fi
else
version="Linux"
echo "Not running within WSL."
exit 1
fi
# Set host_ip based on WSL version
if [ "$version" == "WSL1" ]; then
host_ip="127.0.0.1"
#echo "export host_ip=127.0.0.1" >> ~/.bashrc
#echo "export DISPLAY=$host_ip:0.0" >> ~/.bashrc
else
host_ip=$(grep nameserver /etc/resolv.conf | cut -f 2 -d " ")
#echo 'host_ip=$(cat /etc/resolv.conf |grep "nameserver" |cut -f 2 -d " ")' >> ~/.bashrc #对应于WSL2
echo "export DISPLAY=$host_ip:0.0" >> ~/.bashrc
fi
echo "WSL version: $version"
echo "host_ip: $host_ip"
该bash脚本用于检测当前系统是否在WSL环境下运行,并进一步判断是WSL1还是WSL2版本。通过读取/proc/version文件内容,使用grep命令搜索特定字符串来确定。同时,根据WSL版本设置主机IP,如果是WSL1则设置为127.0.0.1,如果是WSL2,则从/etc/resolv.conf中提取nameserver的IP地址。
4011

被折叠的 条评论
为什么被折叠?



