小编典典

如何从 Bash 脚本中检测操作系统?

all

我想将我的.bashrc.bash_login文件保存在版本控制中,以便我可以在我使用的所有计算机之间使用它们。问题是我有一些特定于操作系统的别名,所以我一直在寻找一种方法来确定脚本是否在
Mac OS X、Linux 或Cygwin上运行。

在Bash脚本中检测操作系统的正确方法是什么?


阅读 170

收藏
2022-03-03

共1个答案

小编典典

我认为以下应该有效。我不确定win32

if [[ "$OSTYPE" == "linux-gnu"* ]]; then
        # ...
elif [[ "$OSTYPE" == "darwin"* ]]; then
        # Mac OSX
elif [[ "$OSTYPE" == "cygwin" ]]; then
        # POSIX compatibility layer and Linux environment emulation for Windows
elif [[ "$OSTYPE" == "msys" ]]; then
        # Lightweight shell and GNU utilities compiled for Windows (part of MinGW)
elif [[ "$OSTYPE" == "win32" ]]; then
        # I'm not sure this can happen.
elif [[ "$OSTYPE" == "freebsd"* ]]; then
        # ...
else
        # Unknown.
fi
2022-03-03