Tente isso:
#!/bin/sh
## Name of the program is challengelab3.2
## request information from the user
echo enter 3 numbers
read a b c
[ -z "$a" ] && echo a is missing, enter all 3 numbers && exit 1
[ -z "$b" ] && echo b is missing, enter all 3 numbers && exit 1
[ -z "$c" ] && echo c is missing, enter all 3 numbers && exit 1
if [ "$a" -gt 10 -o "$b" -gt 10 -o "$c" -gt 5 ]; then
echo "numbers out of range"
exit 1
fi
# process_data
x=$((a + b + c))
while [ "$x" -gt 0 ]
do
echo $(( x / 2 % 2 ))
x=$((x - 1))
done
-
a aritmética do shell é feita com
$(( ... ))
-
Lembre-se de citar suas variáveis fora de
$(())
e[[ ]]
. Sem as aspas, se $ a ou $ b ou $ c estiverem indefinidos (por exemplo, o usuário insere apenas 1 ou 2 números), haverá um erro de sintaxe porque-gt
requer dois operandos.