A mensagem de erro reclama de um do
inesperado porque você usou errado: do
é uma palavra reservada usada em for
, case
, while
e until
loops. Como o comentário anterior termina com for i in $*
, presumo que você acabou de esquecer de adicionar uma quebra de linha:
# now calculate the average of the numbers given on command line as cmd args
for i in $*
do
# addition of all the numbers on cmd args
temp_total='expr $temp_total + $1 '
done
man bash
/ SHELL GRAMMAR / Comandos compostos explica como criar for
e outros loops. Se você quiser simplesmente fazer um loop em todos os argumentos bash
também suporta um formato abreviado, vou combiná-lo com bash
Arithmetic Expansão aqui:
# now calculate the average of the numbers given on command line as cmd args
for i
do
# addition of all the numbers on cmd args
temp_total=$((temp_total+i))
done