Debianシステムのテストでは、/etc/debian_version
存在するかどうかを確認できます。
if [ -f "/etc/debian_version" ]; then
# do stuff
fi
Debianとそれに基づくシステム(Ubuntuとその派生物を含む)が含まれている必要がありますが、ない場合もあり/etc/*release
ます。この場合、ファイルを確認できます。
if [ "$(grep -Ei 'debian|buntu|mint' /etc/*release)" ]; then
# do stuff
fi
どこdebian|buntu|mint
(敏感ではない場合)を探すために、ディストリビューション名のリストである-ことができますから、いくつかの一般的な誘導体のアイデアここでは UbuntuのようなDebianの誘導体が、自分のderiativesを持っています。
RedHatベースのシステムの場合、派生物はより広い範囲のファイルを使用し、lsb-releaseがインストールされていない可能性があるため、次の方法を適用できます。
からリリース名を取得する
lsb_release -i 2> /dev/null | sed 's/:\t/:/' | cut -d ':' -f 2-
lsb-release
ファイル内のDISTRIB-IDを確認してください-「最近のシステムではおそらく不要なフォールバックメソッド」。また、ファイルはFedoraで欠落しているようで、OpenSUSEでDISTRIB_IDが含まれていません
次のいくつかの存在を確認します
/etc/fedora-release
および/または/etc/redhat-release
RedHatまたはFedoraの場合
/etc/SuSE-release
SuSe
/etc/mandriva-release
mandriva / mageia
後者のdebianと同様の方法を使用します。
if [ "$(grep -Ei 'fedora|redhat' /etc/*release)" ]; then
...
私がGoogle Chromeのアップデートcronから入手した最初の3つのポイントなので、詳細を調べるためにそれを調べることができます(パッケージマネージャーも決定します)
より広い範囲のOSについては、SOに関するこの投稿を読んでください。
lsb_release -i 2> /dev/null | sed 's/:\t/:/' | cut -d ':' -f 2-
?実行するだけlsb_release -si