Respondendo ao seu comentário à pergunta: Você não precisa de $count
até realmente calcular a média. Até lá, basta ter
total=$(( total + input ))
Isso adicionará o que o usuário inseriu ao total em execução.
A média poderia então ser calculada como $(( total / count ))
(note que como o shell só faz aritmética inteira, isso seria um inteiro, veja "
Outras coisas:
Sua variável $notdone
está definida para a string true
e você a usa em while [ $notdone ]
. Testes como esses, em strings sem aspas, são frágeis, e sua condição while
loop é melhor escrita como
while [ "$notdone" = "true" ]
Você também deve considerar a possibilidade de citar todas as outras expansões de variáveis em seu código, por exemplo
if [[ "$input" -ge "$middle" ]]; then
Isso é extremamente importante em seu loop de entrada, caso contrário, você gerará um erro de sintaxe inserindo algo com um espaço no meio.
Como você está usando bash
, o texto acima também pode ser escrito
if (( input >= middle )); then
Você também não tem como sair do loop principal, e echo
no final diz "Sua resposta está na metade top ".