accueil > Environnement & utilitaires > expr

expr : Évaluation d'expressions

La commande expr évalue diverses expressions, y compris des opérations arithmétiques, des manipulations de chaînes et des opérations logiques, et renvoie le résultat sur la sortie standard. Elle est utile dans les scripts shell pour calculer des valeurs de variables ou pour la logique conditionnelle.

Aperçu

La commande expr est utilisée pour effectuer des opérations arithmétiques, relationnelles, logiques et de manipulation de chaînes. Chaque argument est traité comme un jeton distinct, nécessitant des espaces entre les opérateurs et les opérandes.

Caractéristiques principales

  • Opérations arithmétiques (addition, soustraction, multiplication, division, modulo)
  • Opérations sur les chaînes (longueur, sous-chaîne, index, correspondance d'expression régulière)
  • Opérations relationnelles (égal, différent, supérieur à, inférieur à)
  • Opérations logiques (ET, OU)

Opérateurs principaux

La commande expr utilise divers opérateurs pour évaluer des expressions. Chaque opérateur doit être traité comme un argument distinct.

Opérateurs arithmétiques

Opérateurs relationnels

Opérateurs logiques

Opérateurs de chaînes

Commande générée :

Essayez de combiner les commandes.

Description:

`expr` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Exemples d'utilisation

Opération arithmétique de base

expr 10 + 5

Additionne deux nombres.

Opération de multiplication avec une variable

num=20
expr $num \* 3

Effectue une multiplication en utilisant la valeur d'une variable. L'opérateur de multiplication (*) a une signification spéciale dans le shell et doit être échappé.

Obtenir la longueur d'une chaîne

expr length "Hello World"

Renvoie la longueur de la chaîne donnée.

Extraire une sous-chaîne

expr substr "example" 3 4

Extrait 4 caractères à partir de la 3ème position de la chaîne 'example'.

Correspondance et extraction d'expression régulière

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

Extrait la partie correspondante à l'expression régulière dans la chaîne. Le contenu entre parenthèses est renvoyé comme sous-correspondance.

Opération logique ET

expr 5 \& 0

Renvoie le premier opérande si les deux opérandes ne sont pas zéro. Le symbole '&' a une signification spéciale dans le shell (exécution en arrière-plan) et doit être échappé.

Conseils et précautions

Points à considérer et conseils utiles lors de l'utilisation de expr.

Précautions importantes

  • **Espaces obligatoires** : Il faut impérativement laisser des espaces entre les opérateurs et les opérandes.
  • **Échappement** : Les caractères ayant une signification spéciale dans le shell (par exemple, `*`, `(`, `)`, `&`, `|`, `<`) doivent être échappés avec un antislash (`\`) ou mis entre guillemets.
  • **Opérations sur entiers** : `expr` ne prend en charge que les opérations sur entiers par défaut. Pour les opérations en virgule flottante, utilisez d'autres outils comme `bc`.
  • **Stockage du résultat** : Le résultat de `expr` est envoyé sur la sortie standard. Pour le stocker dans une variable shell, utilisez la substitution de commande (par exemple, `result=$(expr 10 + 5)` ou `result=`expr 10 + 5``).

Commandes de la même catégorie