Risposte:
Hai ragione nel dire che oslevel ti fornirà l'attuale versione installata, ma che non sempre sono sufficienti informazioni in particolare se ti viene posta la domanda dal personale di supporto.
# oslevel <--- questo ti darà solo il livello base
Per essere più precisi, è necessario utilizzare il seguente comando che fornirà informazioni aggiuntive sul livello di tecnologia, livello di manutenzione e Service Pack.
# oslevel -s
5300-09-02-0849
Questo ti darà
Su alcune versioni precedenti di AIX, l'opzione -s non è disponibile in quale caso dovresti usare l'opzione -r che riporterà fino al livello di tecnologia
spero che questo possa essere d'aiuto
Mike Scheerer
Ho appena aggiunto questo al mio ~ / .profile, quindi vedo immediatamente la versione AIX al login:
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
Esempio di output:
AIX 7.1 - Technology Level 3 - Service Pack 1
nb: questa funzione è compatibile con KSH e BASH, quindi puoi inserire ~ / .bashrc se sei un fan di BASH.
nb2: le ultime 4 cifre di oslevel sono l'anno e la settimana in cui è stato rilasciato SP. Non mi interessa particolarmente vederlo, quindi l'ho lasciato fuori. Sono stato abbastanza contento di Version / TL / SP.
EDIT 2018-02-22 : Ho appena realizzato un'implementazione equivalente ma più breve, e non dipende più da bc
e utilizza awk
invece di cut
& bc
.
Come one-liner:
oslevel -s | awk -F- '{printf "AIX %.1f - Technology Level %d - Service Pack %d\n",$1/1000,$2,$3}'
Produzione:
AIX 5.3 - Technology Level 9 - Service Pack 2
Come funzione shell:
aixversion() {
oslevel -s | awk -F- '{printf "AIX %.1f - Technology Level %d - Service Pack %d\n",$1/1000,$2,$3}'
}
aixversion
Produzione:
AIX 5.3 - Technology Level 9 - Service Pack 2
Puoi usare " uname " con varie opzioni:
$ uname -v
5
$ uname -r
3
Puoi usare il seguente comando:
oslevel -s
Mostrerà risultati come di seguito.
6100-09-09-1717
Che si traduce in:
versione os 6.1
Livello TL 9
service pack 9
data di uscita (anno e settimana)