【发布时间】:2017-01-03 08:14:25
【问题描述】:
有没有办法只通过运行一个命令来确定底层操作系统平台,无论它是在 Windows 的命令提示符下运行,还是在 OSX/Linux/Unix 的终端(bash/sh/etc.)上运行?
注意:平台上可能没有 Python/Perl 等或任何此类解释器,因此我们可以运行其中任何一个来找出相同的结果。
【问题讨论】:
标签: linux windows macos cross-platform
有没有办法只通过运行一个命令来确定底层操作系统平台,无论它是在 Windows 的命令提示符下运行,还是在 OSX/Linux/Unix 的终端(bash/sh/etc.)上运行?
注意:平台上可能没有 Python/Perl 等或任何此类解释器,因此我们可以运行其中任何一个来找出相同的结果。
【问题讨论】:
标签: linux windows macos cross-platform
简短的回答是“否”,一个命令是不够的(至少不是同一个命令)。那是因为环境太不同了。您仍然可以为 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()"
仅给出操作系统类型
【讨论】:
python -c "import platform; print platform.platform()" 或 python -c "import platform; print platform.system()"