zoukankan      html  css  js  c++  java
  • 检测三种不同操作系统的Bash脚本

    检测三种不同操作系统(GNU/Linux, Mac OS X, Windows NT)的Bash脚本。

    设计:

    1、使用“uname”命令获取系统信息,带上“-s”参数个打印内核名称。

    2、使用“expr”和“substr”处理内核名称字符串。

    3、逐个条件判断即可。

    脚本:

    #! /bin/sh
    if["$(uname)"=="Darwin"];then
    # Mac OS X 操作系统
    elif["$(expr substr $(uname -s) 1 5)"=="Linux"];then   
    # GNU/Linux操作系统
    elif["$(expr substr $(uname -s) 1 10)"=="MINGW32_NT"];then    
    # Windows NT操作系统
    fi

    注意:

    1、在脚本的开头,使用“#!/usr/bin/env bash”替换“#!/bin/sh”,防止在不同操作系统上“/bin/sh”链接到不同版本的默认shell。比如在Ubuntu 64 bits 12.04操作系统上,可能会出现“unexpected operator”的错误。

    2、Mac OS X10.6.8 (Snow Leopard) 操作系统上默认没有“expr”程序,除非有单独安装过,所以在脚本中仅使用“uname”。

  • 相关阅读:
    python之路
    go mod
    黑苹果流程
    mac go配置,环境配置
    mac重装系统
    多级分销概念 MongoDB||MySQL
    MongoDB查询mgov2的聚合方法
    linux被当矿机排查案例
    docker-compose容器中redis权限问题
    docker-compose中redis查询版本
  • 原文地址:https://www.cnblogs.com/fnlingnzb-learner/p/10657285.html
Copyright © 2011-2022 走看看