1. ホーム
  2. bash

[解決済み] BashスクリプトからOSを検出する方法は?

2022-03-14 23:36:55

質問

のままにしておきたいのですが。 .bashrc.bash_login ファイルをバージョン管理し、私が使用しているすべてのコンピュータ間で使用できるようにしました。問題は、OS固有のエイリアスがあるため、スクリプトがMac OS X、Linux、またはWindowsで実行されているかどうかを判断する方法を探していることです。 Cygwin .

でオペレーティングシステムを検出する適切な方法は何ですか? バッシュ スクリプトを作成することができます。

解決方法は?

以下のようにするとうまくいくと思います。についてはよくわかりません。 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