判断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"

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐