Uma coisa que chama a atenção em 
Shell Scripts, são as operações matemáticas. 
Em Shell Script, a princípio, elas não são resolvidas diretamente. Para resolver essas operações, é necessário usar algum comando auxiliar, por exemplo:
a=1;
b=2;
#c=$a+$b;  #Não iria funcionar
d=$(( $a + $b ));  #Assim funciona, também poderia ser $(( a + b ))
Obs.: também é possível usar os comandos 
let, expr e 
bc para resolver operações matemáticas.
Mas essa característica, apesar de ser o padrão, pode ser modificada usando o comando 
declare -i para criar as variáveis, veja:
a=1;
b=2;
declare -i c;  #A variável c é do tipo inteiro
c=$a+$b;  #A operação é resolvida diretamente... cuidado com os espaços...
Isso garante que a variável "c" é do tipo inteiro, e não vai aceitar outros tipos de valores. Algo parecido com o que ocorre com linguagens fortemente tipadas, mas diferentemente dessas, ao se atribuir um tipo diferente do estipulado não será emitida uma mensagem de erro, veja:
declare -i c;  #c é inteiro
c="paulo";
echo $c  #Imprime 0 (zero)
Ao tentar setar uma string em "c" o valor é desconsiderado, ficando o valor de zero no lugar.
É importante perceber que, usando o comando 
declare -i, além da variável assumir (parcialmente) características de uma linguagem fortemente tipada, também terá alterações no seu escopo. 
Veja os exemplos:
Function teste() {
       a=10;
}
teste  #Executa a função
echo $a  #Imprime 10
Diferente de outras linguagens, as variáveis dentro de funções não são por padrão locais, ou seja, elas irão escapar para o escopo principal quando a função for executada (característica bem estranha, em minha opinião), mas se for usado o comando 
declare -i, isso não acontece:
Function teste() {
       declare -i a=10;
}
teste
echo $a  #Não imprimi 10
Valeu pessoal, espero que seja útil.
Obs.: se você precisa que as variáveis dentro de funções sejam locais e não quer usar o 
declare -i, ou as suas variáveis não são numéricas, use "local a=10".
Dica também publicada em: 
Operações matemáticas com shell script - prmjunior