Estaciones de trabajo en línea OnWorks Linux y Windows

Logotipo

Alojamiento gratuito en línea para estaciones de trabajo

<Anterior | Contenido | Siguiente>

(()) - Diseñado para números enteros

Además de la [[]] comando compuesto, golpear también proporciona el (()) comando compuesto, que es útil para operar con números enteros. Es compatible con un conjunto completo de evaluaciones aritméticas, un tema que cubriremos por completo en el Capítulo 34.

(()) se usa para realizar pruebas aritméticas de verdad. Una prueba de verdad aritmética da como resultado verdadero si el resultado de la evaluación aritmética es distinto de cero.



[yo @ linuxbox ~] $ si ((1)); luego repita "Es verdad"; fi

Es verdad.

[yo @ linuxbox ~] $ si ((0)); luego repita "Es verdad"; fi

[yo @ linuxbox ~] $

[yo @ linuxbox ~] $ si ((1)); luego repita "Es verdad"; fi

Es verdad.

[yo @ linuxbox ~] $ si ((0)); luego repita "Es verdad"; fi

[yo @ linuxbox ~] $


Usando (()), podemos simplificar ligeramente el prueba-entero2 guión como este:


#! / Bin / bash


# test-integer2a: evalúa el valor de un número entero.


INT = -5


si [["$ INT" = ~ ^ -? [0-9] + $]]; Entonces sí ((INT == 0)); entonces

echo "INT es cero".

más

if ((INT <0)); entonces

echo "INT es negativo".

más

echo "INT es positivo".

fi

if ((((INT% 2)) == 0)); entonces

echo "INT es par".

más

echo "INT es extraño".

fi

#! / Bin / bash


# test-integer2a: evalúa el valor de un número entero.


INT = -5


si [["$ INT" = ~ ^ -? [0-9] + $]]; Entonces sí ((INT == 0)); entonces

echo "INT es cero".

más

if ((INT <0)); entonces

echo "INT es negativo".

más

echo "INT es positivo".

fi

if ((((INT% 2)) == 0)); entonces

echo "INT es par".

más

echo "INT es extraño".

fi



echo "INT no es un número entero". > & 2 salida 1

fi


echo "INT no es un número entero". > & 2 salida 1

fi

Observe que usamos signos menor que y mayor que y que == se utiliza para probar la equivalencia. Esta es una sintaxis de apariencia más natural para trabajar con números enteros. Note también, que debido a que el comando compuesto (()) es parte de la sintaxis del shell en lugar de un comando ordinario, y solo se ocupa de números enteros, es capaz de reconocer variables por nombre y no requiere expansión para realizarla. Discutiremos (()) y la expansión aritmética relacionada más adelante en el Capítulo 34.


Top OS Cloud Computing en OnWorks: