Existem algumas coisas erradas no script; Primeira coisa que se destaca se esta linha:
elif grep -ohw "5.*" /tmp/red;
Não vejo nada escrito em / tmp / red. Além disso, existe um arquivo chamado /etc/redhat-release
, que contém a versão;
Você está se a estrutura está um pouco fora também; if grep -ohw "whatever"
irá retominar as contagens de qualquer coisa; Isso equivale a if soft,addr=123.45.678.9
, o que para bash realmente não faz sentido! Eu usaria grep -c
, que fornece uma contagem numérica de ocorrências de string no arquivo;
ou seja
mount > /tmp/mountlog;
if [ $(grep -c "soft,addr=123.45.678.9" /tmp/mountlog) -gt 0 ]
then echo -e " RHEL 5 MOUNT \e[1;33mALREADY\e[00m AVAILABLE \e[1;33m-PASSED\e[00m ";
elif [ $(grep -c "nfsvers=3,addr=123.45.678.9" /tmp/mountlog) -gt 0 ]
then echo -e " RHEL 6 MOUNT \e[1;33mALREADY\e[00m AVAILABLE \e[1;33m-PASSED\e[00m ";
elif [ $(grep -c "5.*" /etc/redhat-release) -gt 0 ];
then mount -o soft 123.45.678.9:/web /mnt3 &>/dev/null;
elif [ $(grep -c "6.*" /etc/redhat-release) -gt 0 ];
then mount -o vers=3 123.45.678.9:/web /mnt3
fi
mount > /tmp/mountlog;
if [ $(grep -c "soft,addr=123.45.678.9" /tmp/mountlog) -gt 0 ];
then echo -e " RHEL 5 MOUNT AVAILABLE \e[1;33m-PASSED\e[00m ";
elif [ $( grep -c "nfsvers=3,addr=123.45.678.9" /tmp/mountlog) -gt 0 ];
then echo -e " RHEL 6 MOUNT AVAILABLE \e[1;33m-PASSED\e[00m ";
else
echo -e " MOUNT DEVICE NOT AVAILABLE Or NOT VALID RHEL VERSION 5 or 6. \e[00;31mFAILED\e[00m ";
fi