我有一个 bash 脚本(软件项目的端到端集成测试),在运行时我想知道系统是纯 Ubuntu 安装、MacOS 安装还是在 Linux 的 Windows 子系统中运行的 bash?我该怎么做?
答案1
使用 检查当前正在运行的内核uname -r
。在 WSL 中,它将以“-Microsoft”为后缀,例如:4.4.0-17763-Microsoft (debian WSL)。在 Linux 中,它看起来像“4.19.42-v7+”,在 macOS 中它有一个 darwin 指示符。
例如:
if uname -r | grep -q "Microsoft"
then
do something
fi
查看uname --help
更多选项。