1

$OSTYPE変数の値に依存するレガシー スクリプトがあります。このスクリプトが想定しているのは、Solaris では値が「SunOS」であり、AIX では「AIX」であることです。Linux の場合、大文字の値が「LINUX」で始まる正規表現に対して変数をチェックします。

Jenkins からこのスクリプトを実行しようとしたところ、値が異なることがわかりました。Solaris は「solaris2.11」を返し、AIX は「aix7.1.0.0」を返します。Jenkins がスクリプトを実行するのとまったく同じサーバーでコマンドを実行しecho $OSTYPEたところ、代わりに「SunOS」/「AIX」が表示されました。

したがって、私が持っている主な質問は次のとおりです。この違いの原因は何ですか (システムがこの変数の値をどのように形成するのか、および Jenkins が bash から実行された単なるエコーとは異なる値を持っているのはなぜですか)。副次的な質問は、どちらが信頼できる使用方法であるかということ$OSTYPEです。

4

2 に答える 2