RS23
(usa Ubuntu)
Enviado em 16/04/2010 - 01:48h
Calcular o IMC conforme o sexo
Só que não encontro um jeito de entar com o sexo na forma de string (letra)
Por exemplo sexo = F
O shell acusa um erro dizendo que o sexo tem que ser inteiro
Qual seria a melhor forma de fazer este script?
#!/bin/bash
read -p "Entre com o sexo (M ou F): " sexo
read -p "Entre com o peso: " peso
read -p "Entre com a altura: " altura
IMC=$( echo "($peso / $altura * $altura)" | bc)
echo "$IMC"
#Sexo feminino
if [ $sexo -eq 'F' -a $IMC -lt 19 ]
then
echo -ne "Abaixo do peso"
elif [ $sexo -eq 'F' -a $IMC -gt 19 -a -le < 23.9 ]
then
echo -ne "Normal"
elif [ $sexo -eq 'F' -a $IMC -gt 24 -a -le < 28.9 ]
then
echo -ne "Obesidade leve"
elif [ $sexo -eq 'F' -a $IMC -gt 29 -a -le < 38.9 ]
then
echo -ne "Obesidade moderada"
elif [ $sexo -eq 'F' -a $IMC -ge 39 ]
then
echo -ne "Obesidade morbida"
fi
#Sexo masculino
if [ $sexo -eq 'M' -a $IMC -lt 20 ]
then
echo -ne "Abaixo do peso"
elif [ $sexo -eq 'M' -a $IMC -gt 20 -a -le < 24.9 ]
then
echo -ne "Normal"
elif [ $sexo -eq 'M' -a $IMC -gt 25 -a -le < 29.9 ]
then
echo -ne "Obesidade leve"
elif [ $sexo -eq 'M' -a $IMC -gt 30 -a -le < 39.9 ]
then
echo -ne "Obesidade moderada"
elif [ $sexo -eq 'M' -a $IMC -ge 40 ]
then
echo -ne "Obesidade morbida"
fi
exit 0