Linux shell VM虚拟机类型检查脚本函数(支持WSL、WSL2)

这篇具有很好参考价值的文章主要介绍了Linux shell VM虚拟机类型检查脚本函数(支持WSL、WSL2)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

对于,开源脚本这个函数的扩展修改,其它用户都可以将这段代码直接移植到自己的脚本程序之中,并且调用使用它。

如果期望管道捕获它输出的值,则这么调用即可:shell变量=$(virt_check)文章来源地址https://www.toymoban.com/news/detail-839045.html

virt_check(){
    if hash ifconfig 2>/dev/null; then
        eth=$(ifconfig)
    fi
 
    virtualx=$(dmesg) 2>/dev/null
    if  [ $(which dmidecode) ]; then
        sys_manu=$(dmidecode -s system-manufacturer) 2>/dev/null
        sys_product=$(dmidecode -s system-product-name) 2>/dev/null
        sys_ver=$(dmidecode -s system-version) 2>/dev/null
    else
        sys_manu=""
        sys_product=""
        sys_ver=""
    fi
    
    if grep docker /proc/1/cgroup -qa; then
        virtual="Docker"
    elif grep lxc /proc/1/cgroup -qa; then
        virtual="Lxc"
    elif grep -qa container=lxc /proc/1/environ; then
        virtual="Lxc"
    elif [[ -f /proc/user_beancounters ]]; then
        virtual="OpenVZ"
    elif [[ "$virtualx" == *kvm-clock* ]]; then
        virtual="KVM"
    elif [[ "$cname" == *KVM* ]]; then
        virtual="KVM"
    elif [[ "$cname" == *QEMU* ]]; then
        virtual="KVM"
    elif [[ "$virtualx" == *"VMware Virtual Platform"* ]]; then
        virtual="VMware"
    elif [[ "$virtualx" == *"Parallels Software International"* ]]; then
        virtual="Parallels"
    elif [[ "$virtualx" == *VirtualBox* ]]; then
        virtual="VirtualBox"
    elif [[ -e /proc/xen ]]; then
        virtual="Xen"
    elif [[ "$sys_manu" == *"Microsoft Corporation"* ]]; then
        if [[ "$sys_product" == *"Virtual Machine"* ]]; then
            if [[ "$sys_ver" == *"7.0"* || "$sys_ver" == *"Hyper-V" ]]; then
                virtual="Hyper-V"
            else
                virtual="Microsoft Virtual Machine"
            fi
        fi
    elif grep -qi microsoft /proc/version; then
        if grep -qi wsl2 /proc/version; then
            virtual="WSL2"
        else
            virtual="WSL"
        fi
    else
        virtual="Dedicated"
    fi
    
    echo $virtual
}
 

到了这里,关于Linux shell VM虚拟机类型检查脚本函数(支持WSL、WSL2)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux环境下Shell脚本中定义函数

    说实话,这是我第一次用Shell来定义函数,之前也写了很多shell脚本,但是体量都不大,所以基本上是按照需求罗列了多个命令来实现的,这次也是一样,但是我发现重复的地方太多了,所以还是要拿出看见本事“抽象函数”来解放我懒惰的手指 检测特定名称的进程是否存在

    2024年02月12日
    浏览(48)
  • 【Linux命令行与Shell脚本编程】第十六章 Shell函数

    脚本函数基础 函数返回值 在函数中使用变量 数组变量和函数 函数递归 创建库 在命令行中使用函数 可以将shell脚本代码放入函数中封装起来,这样就能在脚本的任意位置多次使用. 函数是一个脚本代码块,可以并在脚本中的任何位置重用它。当需要在脚本中使用该代码块时

    2024年02月14日
    浏览(52)
  • 【Linux】Shell脚本之函数的操作+实战详解(建议收藏⭐)

    🍁 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入! 函数是一段可以重复利用有组织的代码;可以减少代码,提高代码利用率,使脚本结构更加清晰。 这样只是写

    2024年02月05日
    浏览(46)
  • 【玩转Linux操作】详细讲解Shell的函数,exit,文件重定向,引入外部脚本的操作

    🎊专栏【​​​​​​​玩转Linux操作】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【Love Story】 🥰大一同学小吉,欢迎并且感谢大家指出我的问题🥰 bash 中的函数类似于C/C++中的函数,但是 return 的返回值与C/C++不同,返回的是 exit code ,取值为0~255,

    2024年02月12日
    浏览(37)
  • TypeScript 中的类型检查实用函数

    在前端开发中,我们经常需要判断变量的类型以进行相应的操作或处理。TypeScript 提供了基础的类型检查,但有时我们需要更复杂或更灵活的类型检查。这篇博客文章将介绍一组实用函数,用于各种常见的类型检查。

    2024年02月10日
    浏览(41)
  • win11家庭版 使用vm进行虚拟化的设置(此平台不支持虚拟化的 Intel VT-x/EPT。)

    一、安装vm,进入BIOS设置虚拟化(vm安装16.2以上版本) 这个网上很多,就不说了 二、此时安装vm,创建虚拟机就没问题了,但是想继续再虚拟化,将会有一个问题“此平台不支持虚拟化的 Intel VT-x/EPT。” (很多人说别勾选下图了,你猜我为什么要勾选呢?) 此时需要干的两件

    2024年02月07日
    浏览(43)
  • Shell编程——弱数据类型的脚本语言快速入门指南

    目录 Linux Shell 数据类型 变量类型 运算符 算术运算符 赋值运算符 拼接运算符 比较运算符 关系运算符 控制结构 顺序结构 条件分支结构 if 条件语句 case 分支语句  循环结构 for 循环 while 循环 until 循环 break 语句 continue语句 函数 函数定义  函数名 函数体 返回值 参数 函数的

    2024年02月12日
    浏览(72)
  • Shell脚本函数应用

    记录 :429 场景 :Shell脚本函数应用,定义函数,函数调用,函数传参。 版本 :CentOS Linux release 7.9.2009。 1.普通函数 示例普通函数是没有入参和返回值。 1.1脚本 脚本名称:b2023051701.sh 脚本内容: 1.2执行与输出 执行命令:bash b2023051701.sh 输出结果: 2.函数使用return返回值 S

    2024年02月05日
    浏览(40)
  • shell脚本--函数

    目录 一:shell函数定义 1.函数的含义 2.函数的优点 3.函数的格式 4.函数返回值 (1)return输出 (2)echo输出  二:函数传参 1.情景一  2.情景二 3.情景三  4.情景四  三:递归函数  1.递归函数定义  2.通过递归函数实现阶乘 3.使用递归函数实现目录和文件的依次输出  4.案例实练

    2024年02月03日
    浏览(31)
  • BASH shell脚本篇4——函数

     这篇文章介绍下BASH shell中的函数。之前有介绍过shell的其它命令,请参考: BASH shell脚本篇1——基本命令 BASH shell脚本篇2——条件命令 BASH shell脚本篇3——字符串处理 函数是代码重用的最重要方式。Bash函数可以定义为一组命令,在bash脚本中多次调用。bash函数使脚本更具可

    2024年02月07日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包