.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 -s
returnを行います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
追加資料: