Articulo de referencia

expr

expr es una utilidad de línea de comandos en sistemas operativos Unix y similares a Unix que evalúa una expresión y genera el valor correspondiente. Apareció por primera vez en ...

expr es una utilidad de línea de comandos en sistemas operativos Unix y similares a Unix que evalúa una expresión y genera el valor correspondiente. Apareció por primera vez en Unix v7 . El comando está disponible para Microsoft Windows como parte de la colección UnxUtils [1] de puertos Win32 nativos de utilidades comunes de GNU similares a Unix. [2] El comando expr también ha sido portado al sistema operativo IBM i . [3]

Descripción general

expr evalúa expresiones de números enteros o cadenas , incluidas expresiones regulares de coincidencia de patrones . Cada símbolo (operador, valor, etc.) de la expresión debe proporcionarse como un parámetro independiente. La mayor parte del desafío que se plantea al escribir expresiones es evitar que el shell de línea de comandos que las invoca actúe sobre caracteres que expr debe procesar.

Sintaxis

Sintaxis: expr expresión

Los operadores disponibles

  • Para números enteros: suma, resta, multiplicación, división y módulo.
  • para cadenas: coincide con una expresión regular; en algunas versiones: busca un conjunto de caracteres en una cadena ("índice"), busca una subcadena ("substr"), la longitud de la cadena ("length")
  • para cualquiera de los dos: comparación (igual, no igual, menor que, etc.)

Ejemplo

El siguiente es un ejemplo (no compatible con POSIX ) que involucra expresiones booleanas :

expr longitud "abcdef" "<" 5 "|" 15 - 4 ">" 8

Este ejemplo genera como resultado "1". Esto se debe a que la longitud de "abcdef" es 6, que no es menor que 5 (por lo que el lado izquierdo de | devuelve cero). Pero 15 menos 4 es 11 y es mayor que 8, por lo que el lado derecho es verdadero, lo que hace que o sea verdadero, por lo que el resultado es 1. El estado de salida del programa es cero para este ejemplo.

Para aritmética pura, suele ser más conveniente utilizar bc . Por ejemplo:

eco "3 * 4 + 14 / 2" | bc

ya que acepta la expresión como un único argumento.

Para la programación de shell portátil , se debe evitar el uso de los comandos "index", "length", "match" y "substr"; la coincidencia de cadenas sigue siendo posible, pero debe utilizar la sintaxis "string : regexp".

Véase también

Referencias

  1. ^ Puerto de las utilidades GNU más importantes para Windows
  2. ^ "Puertos Win32 nativos de algunas utilidades GNU". unxutils.sourceforge.net .
  3. ^ IBM . "Programación Qshell para IBM System i versión 7.2" (PDF) . IBM . Consultado el 5 de septiembre de 2020 .
Obtenido de "https://es.wikipedia.org/w/index.php?title=Expr&oldid=1236296200"