一个命令告诉它是windows,osx还是linux / unix

时间:2016-08-26 15:40:04

标签: linux windows macos cross-platform

有没有办法通过运行一个命令来确定底层OS平台,无论它是在Windows中的命令提示符还是OSX / Linux / Unix中的终端(bash / sh / etc。)上运行? / p>

注意:平台上可能没有Python / Perl等或任何此类解释器,因此我们可以运行其中任何一个以找出相同的解释器。

1 个答案:

答案 0 :(得分:0)

简短回答是"否",一个命令是不够的(至少不是相同的命令)。这是因为环境太不同了。您仍然可以为OS X / Linux执行此操作,因为它们共享相同的来源 - Unix,因此uname -a可以工作。然而,Windows没有这个概念,因为它不是基于Unix的。在Windows中,您需要运行另一个命令来检查版本:winver

如果有的话,您可以借助跨平台工具检查主机操作系统类型,例如,一些简单的Java实用程序或这些Python oneliners中的任何一个:

python -c "import platform; print platform.platform()" 

提供更多详情

python -c "import platform; print platform.system()"

仅提供操作系统类型