码农后生

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

$OSTYPE

      /*
      echo $OSTYPE
      linux-musl
      */
      if [[ "$OSTYPE" =~ ^linux ]]; then
          sudo apt-get install <some-package>
      fi

uname

      /*
      uname
      Linux
      */
      # Detect the platform (similar to $OSTYPE)
      OS="`uname`"
      case $OS in
        'Linux')
      OS='Linux'
          alias ls='ls --color=auto'
          ;;
        'FreeBSD')
      OS='FreeBSD'
          alias ls='ls -G'
          ;;
        'WindowsNT')
    OS='Windows'
          ;;
        'Darwin') 
    OS='Mac'
          ;;
        'SunOS')
    OS='Solaris'
          ;;
       'AIX') ;;
       *) ;;
esac

cat /etc/*release

      cat /etc/*release
      
      3.13.0_alpha20200917
      NAME="Alpine Linux"
      ID=alpine
      VERSION_ID=3.13.0_alpha20200917
      PRETTY_NAME="Alpine Linux edge"
      HOME_URL="https://alpinelinux.org/"
      BUG_REPORT_URL="https://bugs.alpinelinux.org/"

下面是一种检测基于Debian和RedHat的Linux操作系统的方法,它使用/ etc / lsb-release和/ etc / os-release (取决于你正在使用的Linux风格)并采取基于它的简单操作。

      #!/bin/bash
      set -e
 
      YUM_PACKAGE_NAME="python python-devl python-pip openssl-devel"
      DEB_PACKAGE_NAME="python2.7 python-dev python-pip libssl-dev"
 
     if cat /etc/*release | grep ^NAME | grep CentOS; then
          echo "==============================================="
          echo "Installing packages $YUM_PACKAGE_NAME on CentOS"
          echo "==============================================="
          yum install -y $YUM_PACKAGE_NAME
     elif cat /etc/*release | grep ^NAME | grep Red; then
          echo "==============================================="
          echo "Installing packages $YUM_PACKAGE_NAME on RedHat"
          echo "==============================================="
          yum install -y $YUM_PACKAGE_NAME
      elif cat /etc/*release | grep ^NAME | grep Fedora; then
          echo "================================================"
          echo "Installing packages $YUM_PACKAGE_NAME on Fedorea"
          echo "================================================"
          yum install -y $YUM_PACKAGE_NAME
      elif cat /etc/*release | grep ^NAME | grep Ubuntu; then
         echo "==============================================="
          echo "Installing packages $DEB_PACKAGE_NAME on Ubuntu"
          echo "==============================================="
          apt-get update
          apt-get install -y $DEB_PACKAGE_NAME
      elif cat /etc/*release | grep ^NAME | grep Debian ; then
          echo "==============================================="
          echo "Installing packages $DEB_PACKAGE_NAME on Debian"
          echo "==============================================="
          apt-get update
          apt-get install -y $DEB_PACKAGE_NAME
      elif cat /etc/*release | grep ^NAME | grep Mint ; then
          echo "============================================="
          echo "Installing packages $DEB_PACKAGE_NAME on Mint"
          echo "============================================="
          apt-get update
          apt-get install -y $DEB_PACKAGE_NAME
      elif cat /etc/*release | grep ^NAME | grep Knoppix ; then
          echo "================================================="
          echo "Installing packages $DEB_PACKAGE_NAME on Kanoppix"
          echo "================================================="
          apt-get update
          apt-get install -y $DEB_PACKAGE_NAME
 else
          echo "OS NOT DETECTED, couldn't install package $PACKAGE"
          exit 1;
 fi
 
exit 0
posted on 2020-11-10 10:59  码农后生  阅读(254)  评论(0编辑  收藏  举报