.bash_profileでオペレーティングシステムを確認するには? [コピー]

.bash_profileでオペレーティングシステムを確認するには? [コピー]

.bash_profile私のホストMacBook Proには、Dreamhost Linuxシステムで変更なしに使用したいファイルがあります。ただし、次のようにmacOSでのみ機能するいくつかの行がありますalias mvim="/Applications/MacVim.app/Contents/MacOS/MacVim"

bashがmacOSまたはDebian(またはmacOSではなく)で実行されているかどうかをテストし、macOSで実行したときに上記の行と他の行をいくつか実行する方法はありますか?ここにある他の質問には、私が使用しているLinuxディストリビューションを見つける方法が含まれていますが、ここではmacOSで実行されているかLinuxで実行されていますが、知っておく必要があり、macOSでLinuxディストリビューションを知るためのソリューションはありません。

ベストアンサー1

OSXではuname -sreturnを行いますDarwin(ほとんどのLinuxunameプログラムはを返しますLinux)。

一般的に(個人的な使用を除く)、unameさまざまなシステムに固有の特徴があります。では、一貫した情報を提供するautoconfスクリプトが使用されますconfig.guess

たとえば、私のDebian 7では

x86_64-pc-linux-gnu

OSXではエル・キャピタン

x86_64-apple-darwin15.5.0

シェルで if-then-else 文または Case 文を使用できます。後者はメンテナンスが簡単です。

case $(config.guess) in
*linux*)
    DoSomeLinuxStuff
    ;;
*apple-darwin*)
    DoSomeMacStuff
    ;;
esac

多くのLinuxディストリビューションは出力に情報を追加しますunameが、これは特定の状況でのみ役立ちます。持ついいえ追加された情報の基準です。

私のDebian 7の場合:

$ uname -v
#1 SMP Debian 3.2.81-1

OSXは全く異なります。

$ uname -v
Darwin Kernel Version 15.5.0: Tue Apr 19 18:36:36 PDT 2016; root:xnu-3248.50.21~8/RELEASE_X86_64

追加資料:

おすすめ記事