Estações de trabalho on-line OnWorks Linux e Windows

Logotipo

Hospedagem online grátis para estações de trabalho

<Anterior | Conteúdo | Próxima>

Expansão Aritmética

O shell permite que a aritmética seja realizada por expansão. Isso nos permite usar o prompt do shell como uma calculadora:



[me @ linuxbox ~] $ echo $ ((2 + 2))

4

[me @ linuxbox ~] $ echo $ ((2 + 2))

4


A expansão aritmética usa a forma:

$ ((expressão))

onde expressão é uma expressão aritmética que consiste em valores e operadores aritméticos.

A expansão aritmética suporta apenas números inteiros (números inteiros, sem decimais), mas pode realizar várias operações diferentes. Aqui estão alguns dos operadores suportados:


Tabela 7-1: Operadores aritméticos

Operaparar Description

+ Adição


imagem

- Subtração


imagem

* Multiplicação


imagem

/ Divisão (mas lembre-se, uma vez que a expansão só suporta aritmética de inteiros, os resultados são inteiros).


imagem

% Módulo, que significa simplesmente “resto”.


imagem

** Exponenciação


imagem


Os espaços não são significativos em expressões aritméticas e as expressões podem ser aninhadas. Por exemplo, para multiplicar 5 ao quadrado por 3:



[me @ linuxbox ~] $ echo $ (($ ((5 ** 2)) * 3))

75

[me @ linuxbox ~] $ echo $ (($ ((5 ** 2)) * 3))

75


Parênteses simples podem ser usados ​​para agrupar várias subexpressões. Com esta técnica, podemos reescrever o exemplo acima e obter o mesmo resultado usando uma única expansão em vez de duas:



[me @ linuxbox ~] $ echo $ (((5 ** 2) * 3))

75

[me @ linuxbox ~] $ echo $ (((5 ** 2) * 3))

75


Aqui está um exemplo usando os operadores de divisão e resto. Observe o efeito da divisão de inteiros:



[me @ linuxbox ~] $ echo Five dividido por dois é igual a $ ((5/2))

Cinco dividido por dois é igual a 2

[me @ linuxbox ~] $ echo com $ ((5% 2)) restante.

com 1 restante.

[me @ linuxbox ~] $ echo Five dividido por dois é igual a $ ((5/2))

Cinco dividido por dois é igual a 2

[me @ linuxbox ~] $ echo com $ ((5% 2)) restante.

com 1 restante.


A expansão aritmética é abordada com mais detalhes no Capítulo 34.


Top OS Cloud Computing na OnWorks: