Próbuję napisać skrypt, który w zasadzie zostanie wykonany zgodnie z wersją systemu operacyjnego. Tak zrobiłem do tej pory…
#!/bin/bash
publicyum="yum.oracle.com"
osrelease0=`lsb_release -r | awk {'print $2'}`
osrelease1=`lsb_release -r | awk {'print $2'}`
arch=`uname -p`
wget -q --spider http://$publicyum
if [ $? -eq 0 ]; then
case $osrelease0 in
'5') ;;
'5.1') ;;
'5.2') ;;
'5.3') ;;
'5.4') ;;
'5.5') ;;
'5.6') ;;
'5.7') ;;
'5.8') ;;
'5.9') ;;
'5.10) ;;
'5.11) ;;
esac
if [ "$osrelease0" = "$osrelease0" ]; then
echo "Success01"; uname -nm
else
echo "Failure01"
fi
case $osrelease0 in
'6') ;;
'6.1') ;;
'6.2') ;;
'6.3') ;;
'6.4') ;;
'6.5') ;;
'6.6') ;;
'6.7') ;;
'6.8') ;;
'6.9') ;;
*) echo "Non-Supported OS Version...Aborting!!!"
exit 1;;
esac
if [ "$osrelease0" = "$osrelease0" ]; then
echo "Success02"; uname -nm
else
echo "Failure02"
fi
else
echo "Internet is not accessible, Aborting!!"
fi
Poniżej znajdują się przypadki, które próbuję osiągnąć:
Skrypt powinien zostać wykonany zgodnie z wersją systemu operacyjnego, skrypt powinien wypatrywać określonych wersji zapisanych na stałe w skrypcie ex rhel 5-5.11 i rhel 6-6.11 i powinien wykonywać niektóre polecenia
Gdy skrypt dojdzie do pętli if else, powinien poszukać określonych arch x86_64 / i686 i wykonać polecenia
Z góry dziękuję!!
==
porównać ciągi znaków i masz $osrelease0
po obu stronach znaku równości. Zacznij od naprawienia tego.
osrelease0=
$ (lsb_release -r | awk {'print $ 2'}) 'zamiast cudzysłowów