Ao declarar variáveis no shell, não deve haver espaços em branco ao redor de =
.
No seu caso, vamos pegar uma linha, por exemplo: b= 'expr $a % 10'
, você está tentando salvar a saída da substituição de comando 'expr $a % 10'
na variável b
; como há um espaço após b=
, você está obtendo o erro. Isto é verdade para todos os casos posteriores também. Então, solte o (s) espaço (s) depois de b=
.
Como uma nota secundária, comece a usar a sintaxe de substituição de comandos $()
em vez de ' '
mais antiga e reprovada para evitar problemas como substituição de comandos de aninhamento e problemas de citação estranhos:
b=$(expr $a % 10)
Além disso, você deve citar suas expansões de variáveis, a menos que esteja esperando que a divisão de palavras e a expansão do nome de caminho ocorram.