回答:
oslevelが現在インストールされているバージョンを提供するという事実は正しいのですが、サポート担当者から質問された場合、特に十分な情報とは限りません。
#oslevel <---これは基本レベルのみを提供します
より正確にするには、次のコマンドを使用して、テクノロジーレベル、メンテナンスレベル、およびサービスパックレベルの情報を追加する必要があります。
# oslevel -s
5300-09-02-0849
これはあなたに与えます
一部の古いバージョンのAIXでは、-sオプションは利用できません。テクノロジーレベルまで報告する-rオプションを使用する必要があります
これが役立つことを願っています
マイク・シーラー
これを〜/ .profileに追加したばかりなので、ログイン時にすぐにAIXバージョンが表示されます。
function aixversion {
OSLEVEL=$(oslevel -s)
AIXVERSION=$(echo "scale=1; $(echo $OSLEVEL | cut -d'-' -f1)/1000" | bc)
AIXTL=$(echo $OSLEVEL | cut -d'-' -f2 | bc)
AIXSP=$(echo $OSLEVEL | cut -d'-' -f3 | bc)
echo "AIX ${AIXVERSION} - Technology Level ${AIXTL} - Service Pack ${AIXSP}"
}
aixversion
出力例:
AIX 7.1 - Technology Level 3 - Service Pack 1
nb:この関数はKSHとBASHの両方と互換性があるため、BASHファンの場合は代わりに〜/ .bashrcを使用できます。
nb2:oslevelの最後の4桁は、SPがリリースされた年と週です。私は特にそれを見るのを気にしないので、私はそれを省いた。Version / TL / SPには十分満足しています。
EDIT 2018年2月22日:私はちょうど同等より短い実装を思い付いなく、もはやに依存bc
し、用途awk
の代わりに、cut
&bc
。
ワンライナーとして:
oslevel -s | awk -F- '{printf "AIX %.1f - Technology Level %d - Service Pack %d\n",$1/1000,$2,$3}'
出力:
AIX 5.3 - Technology Level 9 - Service Pack 2
シェル関数として:
aixversion() {
oslevel -s | awk -F- '{printf "AIX %.1f - Technology Level %d - Service Pack %d\n",$1/1000,$2,$3}'
}
aixversion
出力:
AIX 5.3 - Technology Level 9 - Service Pack 2
さまざまなオプションで「uname」を使用できます。
$ uname -v
5
$ uname -r
3