Inicio > Entorno y utilidades > expr

expr: Evaluación de expresiones

El comando expr evalúa diversas expresiones, incluyendo operaciones aritméticas, manipulación de cadenas y operaciones lógicas, y devuelve el resultado a la salida estándar. Es útil en scripts de shell para calcular valores de variables o para lógica condicional.

Descripción general

El comando expr se utiliza para realizar operaciones aritméticas, relacionales, lógicas y de cadenas. Cada argumento se trata como un token separado, por lo que se requiere un espacio entre los operadores y los operandos.

Características principales

  • Operaciones aritméticas (suma, resta, multiplicación, división, módulo)
  • Operaciones de cadena (longitud, subcadena, índice, coincidencia de expresiones regulares)
  • Operaciones relacionales (igualdad, desigualdad, mayor que, menor que)
  • Operaciones lógicas (AND, OR)

Operadores principales

El comando expr utiliza varios operadores para evaluar expresiones. Cada operador debe tratarse como un argumento separado.

Operadores aritméticos

Operadores relacionales

Operadores lógicos

Operadores de cadena

Comando generado:

Combina los comandos.

Descripción:

`expr` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Ejemplos de uso

Operación aritmética básica

expr 10 + 5

Suma dos números.

Operación de multiplicación con variables

num=20
expr $num \* 3

Realiza una multiplicación utilizando el valor de una variable. El operador de multiplicación (*) tiene un significado especial en el shell, por lo que debe escaparse.

Obtener la longitud de una cadena

expr length "Hello World"

Devuelve la longitud de una cadena dada.

Extraer una subcadena

expr substr "example" 3 4

Extrae 4 caracteres de la cadena 'example' comenzando desde la tercera posición.

Coincidencia y extracción de expresiones regulares

expr "filename.tar.gz" : ".*\.\(tar\.gz\)"

Extrae la parte coincidente de una cadena con una expresión regular. El contenido entre paréntesis se devuelve como subcoincidencia.

Operación lógica AND

expr 5 \& 0

Devuelve el primer operando si ambos operandos no son cero. El ampersand (&) tiene un significado especial en el shell (ejecución en segundo plano), por lo que debe escaparse.

Consejos y precauciones

Puntos a tener en cuenta y consejos útiles al usar expr.

Precauciones principales

  • **Espacios obligatorios**: Siempre debe haber un espacio entre los operadores y los operandos.
  • **Escapado**: Los caracteres que tienen un significado especial en el shell (por ejemplo, `*`, `(`, `)`, `&`, `|`, `<`) deben escaparse con una barra invertida (`\`) o entrecomillarse.
  • **Operaciones enteras**: `expr` soporta principalmente operaciones con números enteros. Si necesita operaciones con punto flotante, debe usar otras herramientas como `bc`.
  • **Almacenamiento de resultados**: El resultado de `expr` se muestra en la salida estándar. Para guardarlo en una variable del shell, utilice la sustitución de comandos (por ejemplo, `resultado=$(expr 10 + 5)` o `resultado=`expr 10 + 5``).

Comandos de la misma categoría