如何识别我在bash脚本中使用的操作系统

参见英文答案 >
How to detect the OS from a Bash script?                                    21个

我需要制作每个系统行为不同的脚本.今天甚至可以在微软windows,mac,linux,hp-ux,solaris等上运行bash ……

如何确定我使用的是哪种操作系统?我不需要确切的版本,我只需要知道我是在Windows,Linux,solaris ……

最佳答案 有一个标准的shell命令“uname”,它将当前平台作为字符串返回

要在shell程序中使用它,可能是典型的节

#!/bin/sh



if [ `uname` = "Linux" ] ;
then
    echo "we are on the operating system of Linux"
fi

if [ `uname` = "FreeBSD" ] ;
then
    echo "we are on the operating system of FreeBSD"
fi

可以获得更具体的信息,但不幸的是,它根据平台而有所不同.在许多版本的Linux(和ISTR,Solaris)上都有一个/ etc / issue文件,其中包含已安装的发行版的版本名称和编号.所以在ubuntu上

if [ -e "/etc/issue" ] ;
then
issue=`cat /etc/issue`
set -- $issue
if [ $1 = "Ubuntu" ] ;
then
    echo "we are on Ubuntu version " $2
fi
fi

这将提供版本信息

点赞