Answers:
您是正确的,因为oslevel将为您提供当前已安装的版本,但是,如果支持人员询问您的问题,那并不是总是足够的信息。
#oslevel <---这只会给您基础级别
为了更精确,您应该使用以下命令,它将为您提供其他技术级别,维护级别和Service Pack级别的信息。
# 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-02-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