AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

exprposix - En ligne dans le Cloud

Exécutez exprposix dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande exprposix qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


expr — évalue les arguments en tant qu'expression

SYNOPSIS


expr opérande

DESCRIPTION


La expr L'utilitaire doit évaluer une expression et écrire le résultat sur la sortie standard.

OPTIONS


Aucun.

OPÉRANDES


L'expression unique évaluée par expr sera formé à partir du opérande opérandes, comme
décrit dans la section DESCRIPTION ÉTENDUE. La demande garantit que chacun des
les symboles d'opérateur d'expression :

( ) | & = > >= < <= != + - * / % :

et les symboles entier ainsi que un magnifique dans le tableau sont fournis en tant qu'arguments séparés pour
expr.

STDIN


Non utilisé.

CONTRIBUTION DES DOSSIERS


Aucun.

ENVIRONNEMENT VARIABLES


Les variables d'environnement suivantes doivent affecter l'exécution de expr:

LANGUE Fournissez une valeur par défaut pour les variables d'internationalisation qui ne sont pas définies ou
nul. (Voir le volume Définitions de base de POSIX.1‐2008, Section 8.2,
Internationalisation Variables pour la priorité de l'internationalisation
variables utilisées pour déterminer les valeurs des catégories de paramètres régionaux.)

LC_TOUS S'il est défini sur une valeur de chaîne non vide, remplace les valeurs de tous les autres
variables d'internationalisation.

LC_COLLER
Déterminer les paramètres régionaux pour le comportement des plages, des classes d'équivalence et des
éléments de classement de caractères dans les expressions régulières et par la chaîne
opérateurs de comparaison.

LC_CTYPE Déterminer la localisation pour l'interprétation des séquences d'octets de données de texte
sous forme de caractères (par exemple, des caractères à un octet par opposition aux caractères à plusieurs octets dans
arguments) et le comportement des classes de caractères dans les expressions régulières.

LC_MESSAGES
Déterminez les paramètres régionaux qui doivent être utilisés pour affecter le format et le contenu de
messages de diagnostic écrits dans l'erreur standard.

NLSPATH Déterminer l'emplacement des catalogues de messages pour le traitement des LC_MESSAGES.

ASYNCHRONE ÉVÉNEMENTS


Par défaut.

SORTIE STD


La expr L'utilitaire doit évaluer l'expression et écrire le résultat, suivi d'un
, à la sortie standard.

STDERR


L'erreur standard ne doit être utilisée que pour les messages de diagnostic.

SORTIE DES DOSSIERS


Aucun.

ÉLARGI DESCRIPTION


La formation de l'expression à évaluer est indiquée dans le tableau suivant. Les
symboles expr, expression1et expression2 représentent des expressions formées à partir de entier ainsi que un magnifique
symboles et les symboles d'opérateur d'expression (tous des arguments séparés) par récursif
application des constructions décrites dans le tableau. Les expressions sont classées dans l'ordre
de priorité croissante, avec des opérateurs d'égale priorité regroupés entre
lignes. Tous les opérateurs doivent être associatifs à gauche.

?? ??
ExpressionDescription
?? ??
expression1 | expression2 Renvoie l'évaluation de expression1 si c'est
│ │ ni nul ni nul ; sinon,
│ │ renvoie l'évaluation de expression2 si c'est
│ │ non nul ; sinon, zéro. ??
?? ??
expression1 & expression2 Renvoie l'évaluation de expression1 si
│ │ aucune des expressions n'est nulle ou │
│ │ zéro ; sinon, renvoie zéro. ??
?? ??
│ │ Renvoie le résultat d'un entier décimal │
│ │ comparaison si les deux arguments sont
│ entiers ; sinon, renvoie le résultat │
│ │ d'une comparaison de chaînes utilisant la locale- │
│ │ séquence de classement spécifique. Le résultat
│ │ de chaque comparaison est 1 si le spécifié
La relation │ │ est vraie, ou 0 si le │
│ │ relation est fausse. ??
expression1 = expression2 Égal. ??
expression1 > expression2 Supérieur à. ??
expression1 >= expression2 │ Supérieur ou égal. ??
expression1 < expression2 Moins que. ??
expression1 <= expression2 │ Inférieur ou égal. ??
expression1 != expression2 Pas égal. ??
?? ??
expression1 + expression2 │ Addition de nombres entiers décimaux │
│ arguments. ??
expression1 - expression2 │ Soustraction de nombre entier décimal │
│ arguments. ??
?? ??
expression1 * expression2 │ Multiplication de nombres entiers décimaux │
│ arguments. ??
expression1 / expression2 │ Division entière d'un entier décimal - │
│ │ arguments valorisés, produisant un entier │
│ résultat. ??
expression1 % expression2 │ Reste de la division entière de la décimale │
│ arguments à valeur entière. ??
?? ??
expression1 : expression2 Expression correspondante ; voir ci-dessous. ??
?? ??
( expr ) Symboles de regroupement. Toute expression peut être
│ placé entre parenthèses. Parenthèses
│ │ peut être imbriqué à une profondeur de │
│ {EXPR_NEST_MAX}. ??
?? ??
entier │ Un argument composé uniquement d'un
│ │ (facultatif) unaire moins suivi de │
│ │ chiffres. ??
un magnifique │ Un argument de chaîne ; voir ci-dessous. ??
?? ??
Des Expression
La ':' l'opérateur de correspondance doit comparer la chaîne résultant de l'évaluation de expression1
avec le modèle d'expression régulière résultant de l'évaluation de expression2. Ordinaire
la syntaxe de l'expression doit être celle définie dans le volume Base Definitions de POSIX.1‐2008,
Section 9.3, Basic Un coupage régulier Expressions, sauf que tous les motifs sont ancrés au
début de la chaîne (c'est-à-dire que seules les séquences commençant au premier caractère d'un
chaîne correspondent à l'expression régulière) et, par conséquent, il n'est pas spécifié si
'^' est un caractère spécial dans ce contexte. Habituellement, l'opérateur de correspondance doit renvoyer un
chaîne représentant le nombre de caractères mis en correspondance («0 ' en cas d'échec). Alternativement, si
le modèle contient au moins une sous-expression d'expression régulière "[\(...\)]", la chaîne
correspond à l'expression de référence arrière "\1" doit être retourné. Si la référence arrière
expression "\1" ne correspond pas, la chaîne nulle doit être renvoyée.

Chaîne opérande
Un argument de chaîne est un argument qui ne peut pas être identifié comme un entier argument ou comme
l'un des symboles d'opérateur d'expression indiqués dans la section OPÉRANDES.

L'utilisation d'arguments de chaîne longueur, substr, indiceou rencontre produit des résultats non spécifiés.

EXIT STATUT


Les valeurs de sortie suivantes doivent être renvoyées :

Le 0 expression n'évalue ni null ni zéro.

Le 1 expression évalue à null ou à zéro.

2 invalide expression.

>2 Une erreur s'est produite.

CONSÉQUENCES OF LES ERREURS


Par défaut.

La Abonnement les sections informatif.

INSCRIPTION UTILISATION


Après traitement des arguments par le shell, expr n'est pas obligé d'être en mesure de dire au
différence entre un opérateur et un opérande sauf par la valeur. Si "$a" is '=',
commander:

expr $a = '='

ressemble à:

expr = = =

au fur et à mesure que les arguments sont passés à expr (et ils peuvent tous être considérés comme le '=' opérateur). Le
suivantes fonctionne de manière fiable :

expr X$a = X=

Notez également que ce volume de POSIX.1‐2008 permet aux implémentations d'étendre les utilitaires.
La expr L'utilitaire permet aux arguments entiers d'être précédés d'un moins unaire. Cette
signifie qu'un argument entier pourrait ressembler à une option. Par conséquent, la conformité
demande doit employer le "−−" construction de la ligne directrice 10 du volume Définitions de base
de POSIX.1‐2008, Section 12.2, utilitaire Syntaxe Recommandations pour protéger ses opérandes s'il y a
est une chance que le premier opérande soit un entier négatif (ou toute chaîne avec un début
moins).

EXEMPLES


La expr l'utilitaire a une syntaxe assez difficile :

* De nombreux opérateurs sont également des opérateurs de contrôle du shell ou des mots réservés, ils ont donc
à échapper sur la ligne de commande.

* Chaque partie de l'expression est composée d'arguments séparés, donc l'usage libéral de
caractères est requis. Par exemple:

??
InvalideValide
??
expr 1+2 expr 1 + 2
expr "1 + 2" expr 1 + 2
expr 1 + (2 * 3) expr 1 + \( 2 \* 3 \)
??
Dans de nombreux cas, les fonctionnalités arithmétiques et de chaîne fournies dans le cadre de la commande shell
langue sont plus faciles à utiliser que leurs équivalents en expr. Les scripts nouvellement écrits doivent
éviter expr en faveur des nouvelles fonctionnalités du shell ; voir Section 2.5, Paramètres ainsi que
Variables ainsi que Section 2.6.4, Arithmétique Expansion.

La commande suivante:

a=$(expression $a + 1)

ajoute 1 à la variable a.

La commande suivante, pour "$a" égal à soit /usr/abc/fichier ou tout simplement filet:

expr $a : '.*/\(.*\)' \| $a

renvoie le dernier segment d'un chemin (c'est-à-dire, filet). Les applications doivent éviter les
caractère '/' utilisé seul comme argument; expr peut l'interpréter comme l'opérateur de division.

La commande suivante:

expr "//$a" : '.*/\(.*\)'

est une meilleure représentation de l'exemple précédent. L'ajout du "//" caractères
élimine toute ambiguïté sur l'opérateur de division et simplifie l'ensemble de l'expression.
Notez également que les chemins d'accès peuvent contenir des caractères contenus dans le IFS variable et devrait
être cité pour éviter d'avoir "$a" développer en plusieurs arguments.

La commande suivante:

expr "$VAR" : '.*'

renvoie le nombre de caractères dans VAR.

RAISONNEMENT


Dans une première proposition, les ERE ont été utilisés dans la syntaxe d'expression correspondante. Cela a été changé
aux BRE pour éviter de casser les applications historiques.

L'utilisation d'un leader dans le BRE n'est pas spécifié car de nombreux
les implémentations l'ont traité comme un caractère spécial, malgré leur système
Documentation. Par exemple:

expr foo : ^toto expr ^toto : ^toto

renvoie 3 et 0, respectivement, sur ces systèmes ; leur documentation impliquerait la
inverser. Ainsi, la condition d'ancrage n'est pas précisée pour éviter de rompre l'historique
scripts s'appuyant sur cette fonctionnalité non documentée.

FUTUR DIRECTIONS


Aucun.

Utilisez exprposix en ligne en utilisant les services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

Commandes Linux

Ad