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>

(()) - Projetado para inteiros

Além do [[]] comando composto, bater também fornece o (()) comando composto, que é útil para operar em inteiros. Ele oferece suporte a um conjunto completo de avaliações aritméticas, um assunto que abordaremos totalmente no Capítulo 34.

(()) é usado para realizar testes de verdade aritmética. Um teste de verdade aritmética resulta em verdadeiro se o resultado da avaliação aritmética for diferente de zero.



[me @ linuxbox ~] $ if ((1)); em seguida, echo "É verdade."; fi

É verdade.

[me @ linuxbox ~] $ if ((0)); em seguida, echo "É verdade."; fi

[me @ linuxbox ~] $

[me @ linuxbox ~] $ if ((1)); em seguida, echo "É verdade."; fi

É verdade.

[me @ linuxbox ~] $ if ((0)); em seguida, echo "É verdade."; fi

[me @ linuxbox ~] $


utilização (()), podemos simplificar ligeiramente o teste-integer2 script como este:


#! / Bin / bash


# test-integer2a: avalia o valor de um inteiro.


INT = -5


if [["$ INT" = ~ ^ -? [0-9] + $]]; então se ((INT == 0)); então

echo "INT é zero."

outro

if ((INT <0)); então

echo "INT é negativo."

outro

echo "INT é positivo."

fi

if ((((INT% 2)) == 0)); então

echo "INT é par."

outro

echo "INT é estranho."

fi

#! / Bin / bash


# test-integer2a: avalia o valor de um inteiro.


INT = -5


if [["$ INT" = ~ ^ -? [0-9] + $]]; então se ((INT == 0)); então

echo "INT é zero."

outro

if ((INT <0)); então

echo "INT é negativo."

outro

echo "INT é positivo."

fi

if ((((INT% 2)) == 0)); então

echo "INT é par."

outro

echo "INT é estranho."

fi



echo "INT não é um número inteiro." > & 2 saída 1

fi


echo "INT não é um número inteiro." > & 2 saída 1

fi

Observe que usamos sinais de menor e maior e que == é usado para testar a equivalência. Esta é uma sintaxe de aparência mais natural para trabalhar com inteiros. Observe também que, porque o comando composto (()) faz parte da sintaxe do shell ao invés de um comando comum, e lida apenas com inteiros, é capaz de reconhecer variáveis ​​pelo nome e não requer que a expansão seja realizada. Vamos discutir (()) e a expansão aritmética relacionada mais adiante no Capítulo 34.


Top OS Cloud Computing na OnWorks: