elgio
(usa OpenSuSE)
Enviado em 10/06/2008 - 14:17h
1) usando o df -h tu tem valores com G, K ou M no final!
/dev/hda2 6,8G 5,9G 593M 92% /
Como vai comparar (maior) um 6,8G com 593M ???
Use -k que retorna tudo em k e sem letrinhas
2) Porque em um deles tu pega o campo 17 e no outro o campo 18?
/bin/df -h | grep sda1 | cut -d " " -f 18
/bin/df -h | grep sda3 | cut -d " " -f 17
Da maneira que TU FIZESTE o certo é o 18, mas ISTO DEPENDE!!!! Cortar por espaços é PESSIMO, pois a saida é formatada, podes ter mais ou menos espaços!
#!/bin/bash
# Campo 2 para TAMANHO TOTAL
# campo 3 para espaco USADO
# campo 4 para espaco DISPONIVEL
SDA1="`/bin/df -k |grep sda1 | sed 's/ \+/:/g'|cut -d: -f2`" # pegando CAMPO 2
SDA3="`/bin/df -k |grep sda5 | sed 's/ \+/:/g'|cut -d: -f2`"
if [ "X$SDA1" = "X" ]
then
echo "ERRO: nao existe sda1"
exit 1
fi
if [ "X$SDA3" = "X" ]
then
echo "ERRO: nao existe sda3"
exit 1
fi
echo "DEBUG: SDA1=$SDA1 SDA3=$SDA3"
if [ $SDA1 -gt $SDA3 ]
then
echo "SDA1 MAIOR"
else
echo "SDA3 MAIOR"
fi