参见英文答案 >
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
这将提供版本信息