Sintaxe de Expressão Aritmética -
(( expression ))
A expressão é avaliada de acordo com as regras descritas em AVALIAÇÃO ARITMÉTICA. Se o valor da expressão for diferente de zero, o status de retorno será 0; caso contrário, o status de retorno é 1. Isso é exatamente equivalente a let "expression"
.
Expansão aritmética permite a avaliação de uma expressão aritmética e a substituição do resultado. O formato da expansão aritmética é:
$(( expression ))
A expressão é tratada como se estivesse entre aspas duplas , mas as aspas duplas dentro dos parênteses não são tratadas especialmente. Todos os tokens na expressão sofrem expansão de parâmetros e variáveis, substituição de comandos e remoção de cotações. O resultado é tratado como a expressão aritmética a ser avaliada. Expansões aritméticas podem ser aninhadas.
A inclusão de caracteres entre aspas duplas preserva o valor literal de todos os caracteres dentro das aspas , com exceção de $, \ e, quando a expansão do histórico é ativada,! Os caracteres $ e 'mantêm seu significado especial entre aspas duplas. A barra invertida mantém seu significado especial apenas quando seguida por um dos seguintes caracteres: $, ", \ ou. Uma aspa dupla pode ser colocada entre aspas duplas precedendo-a com uma barra invertida. Se ativado, a expansão do histórico será executada a menos que ! aparecer entre aspas duplas é escapado usando uma barra invertida. A barra invertida que precede o! não é removida.