InglêsFrancêsEspanhol

Ad


favicon do OnWorks

exprposix - Online na Nuvem

Execute exprposix no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o exprposix de comando que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

PROGRAMA:

NOME


expr - avalia argumentos como uma expressão

SINOPSE


expr operando...

DESCRIÇÃO


A expr utilitário deve avaliar uma expressão e escrever o resultado para a saída padrão.

OPÇÕES


Nenhum.

OPERANDOS


A única expressão avaliada por expr deve ser formado a partir do operando operandos, como
descrito na seção DESCRIÇÃO ESTENDIDA. A aplicação deve garantir que cada um dos
os símbolos do operador de expressão:

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

e os símbolos número inteiro e corda na tabela são fornecidos como argumentos separados para
expr.

STDIN


Não usado.

INPUT ARQUIVOS


Nenhum.

MEIO AMBIENTE VARIÁVEIS


As seguintes variáveis ​​de ambiente devem afetar a execução de expr:

GRANDE Forneça um valor padrão para as variáveis ​​de internacionalização que não estão definidas ou
nulo. (Veja o volume de Definições de Base de POSIX.1‐2008, Seção 8.2,
Internacionalização Variáveis pela precedência de internacionalização
variáveis ​​usadas para determinar os valores das categorias de local.)

LC_ALL Se definido como um valor de string não vazio, substitui os valores de todos os outros
variáveis ​​de internacionalização.

LC_COLLATE
Determine a localidade para o comportamento de intervalos, classes de equivalência e
caractere agrupar elementos dentro de expressões regulares e pela string
operadores de comparação.

LC_CTYPE Determine o local para a interpretação de sequências de bytes de dados de texto
como caracteres (por exemplo, caracteres de byte único em oposição a caracteres de bytes múltiplos em
argumentos) e o comportamento das classes de caracteres em expressões regulares.

LC_MESSAGES
Determine a localidade que deve ser usada para afetar o formato e o conteúdo do
mensagens de diagnóstico gravadas no erro padrão.

NLSPAT Determine a localização dos catálogos de mensagens para o processamento de LC_MESSAGES.

ASSÍNCRONO EVENTOS


Padrão.

STDOUT


A expr utilitário deve avaliar a expressão e escrever o resultado, seguido por um
, para a saída padrão.

STDERR


O erro padrão deve ser usado apenas para mensagens de diagnóstico.

SAÍDA ARQUIVOS


Nenhum.

ESTENDIDO DESCRIÇÃO


A formação da expressão a ser avaliada é mostrada na tabela a seguir. o
símbolos expr, expr1 e expr2 representam expressões formadas a partir de número inteiro e corda
símbolos e os símbolos do operador de expressão (todos os argumentos separados) por recursiva
aplicação das construções descritas na tabela. As expressões são listadas em ordem
de precedência crescente, com operadores de precedência igual agrupados entre
linhas. Todos os operadores devem ser associativos à esquerda.

┌─────────────────┬─────────────────────────────────── ──────────┐
ExpressãoDescrição
├─────────────────┼─────────────────────────────────── ──────────┤
expr1 | expr2 │ Retorna a avaliação de expr1 se for │
│ │ nem nulo nem zero; caso contrário, │
│ │ retorna a avaliação de expr2 se for │
│ │ não nulo; caso contrário, zero. │
├─────────────────┼─────────────────────────────────── ──────────┤
expr1 & expr2 │ Retorna a avaliação de expr1 se │
│ │ nenhuma expressão é avaliada como nula ou │
│ │ zero; caso contrário, retorna zero. │
├─────────────────┼─────────────────────────────────── ──────────┤
│ │ Retorna o resultado de um inteiro decimal │
│ │ comparação se ambos os argumentos forem │
│ │ inteiros; caso contrário, retorna o resultado │
│ │ de uma comparação de string usando o locale │
│ │ sequência de intercalação específica. O resultado │
│ │ de cada comparação é 1 se o │ especificado
A relação │ │ for verdadeira, ou 0 se a relação │
│ │ relacionamento é falso. │
expr1 = expr2 │ Igual. │
expr1 > expr2 │ Maior que. │
expr1 >= expr2 │ Maior ou igual. │
expr1 < expr2 │ Menos de. │
expr1 <= expr2 │ Menor ou igual. │
expr1 != expr2 │ Diferente. │
├─────────────────┼─────────────────────────────────── ──────────┤
expr1 + expr2 │ Adição de decimal com valor inteiro │
│ │ argumentos. │
expr1 - expr2 │ Subtração de decimal com valor inteiro │
│ │ argumentos. │
├─────────────────┼─────────────────────────────────── ──────────┤
expr1 * expr2 │ Multiplicação de decimal com valor inteiro │
│ │ argumentos. │
expr1 / expr2 │ Divisão inteira do número inteiro decimal- │
│ │ argumentos com valor, produzindo um inteiro │
│ │ resultado. │
expr1 % expr2 │ Restante da divisão inteira do decimal │
│ │ argumentos com valor inteiro. │
├─────────────────┼─────────────────────────────────── ──────────┤
expr1 : expr2 │ Expressão de correspondência; Veja abaixo. │
├─────────────────┼─────────────────────────────────── ──────────┤
│( expr ) │ Símbolos de agrupamento. Qualquer expressão pode ser │
│ │ colocado entre parênteses. Parênteses │
│ │ pode ser aninhado a uma profundidade de │
│ │ {EXPR_NEST_MAX}. │
├─────────────────┼─────────────────────────────────── ──────────┤
número inteiro │ Um argumento que consiste apenas em um │
│ │ (opcional) menos unário seguido por │
│ │ dígitos. │
corda │ Um argumento de string; Veja abaixo. │
└─────────────────┴─────────────────────────────────── ──────────┘
Correspondente Expressão
A ':' operador de correspondência deve comparar a string resultante da avaliação de expr1
com o padrão de expressão regular resultante da avaliação de expr2. Regular
A sintaxe da expressão deve ser aquela definida no volume de Definições de Base de POSIX.1‐2008,
Seção 9.3, Basico Regular Expressões, exceto que todos os padrões são ancorados no
início da string (ou seja, apenas sequências começando no primeiro caractere de um
string são correspondidos pela expressão regular) e, portanto, não é especificado se
'^' é um personagem especial nesse contexto. Normalmente, o operador de correspondência deve retornar um
string que representa o número de caracteres correspondidos ('0' em caso de falha). Alternativamente, se
o padrão contém pelo menos uma subexpressão de expressão regular "[\ (... \)]", a corda
correspondido pela expressão de referência anterior "\ 1" deve ser devolvido. Se a referência anterior
expressão "\ 1" não corresponder, então a string nula será retornada.

Tanga Operando
Um argumento de string é um argumento que não pode ser identificado como um número inteiro argumento ou como
um dos símbolos do operador de expressão mostrado na seção OPERANDS.

O uso de argumentos de string comprimento, substr, índiceou partida produz resultados não especificados.

SAIR STATUS


Os seguintes valores de saída devem ser retornados:

O 0 expressão não é avaliado como nulo nem zero.

O 1 expressão avalia como nulo ou zero.

2 inválido expressão.

> 2 Ocorreu um erro.

CONSEQUÊNCIAS OF ERROS


Padrão.

A seguinte seções e guarante que os mesmos estão informativo.

APLICAÇÃO USO


Após o processamento do argumento pelo shell, expr não é necessário ser capaz de dizer o
diferença entre um operador e um operando, exceto pelo valor. Se "$ a" is '=',
comando:

expr $a = '='

parece:

expr = = =

conforme os argumentos são passados ​​para expr (e todos eles podem ser tomados como o '=' operador). o
a seguir funciona de forma confiável:

expr X $ a = X=

Observe também que este volume de POSIX.1‐2008 permite implementações para estender utilitários.
A expr O utilitário permite que os argumentos inteiros sejam precedidos por um menos unário. Esse
significa que um argumento inteiro pode parecer uma opção. Portanto, a conformidade
aplicação deve empregar o "−−" construção da Diretriz 10 do volume de Definições de Base
de POSIX.1‐2008, Seção 12.2, Utilidade Sintaxe orientações para proteger seus operandos se houver
é alguma chance de o primeiro operando ser um número inteiro negativo (ou qualquer string com um
menos).

EXEMPLOS


A expr utilitário tem uma sintaxe bastante difícil:

* Muitos dos operadores também são operadores de controle de shell ou palavras reservadas, então eles têm
para ser escapado na linha de comando.

* Cada parte da expressão é composta por argumentos separados, portanto, o uso liberal de
caracteres é obrigatório. Por exemplo:

┌───────────────────┬────────────────────────────────────────────────┐
InválidoVálido
├───────────────────┼────────────────────────────────────────────────┤
expr 1 + 2 │ expr 1 + 2 │
expr "1 + 2" │ expr 1 + 2 │
expr 1 + (2 * 3) │ expr 1 + \ (2 \ * 3 \) │
└───────────────────┴────────────────────────────────────────────────┘
Em muitos casos, os recursos aritméticos e de string fornecidos como parte do comando shell
linguagem são mais fáceis de usar do que seus equivalentes em expr. Os scripts recém-escritos devem
evitar expr em favor dos novos recursos dentro do shell; Vejo Seção 2.5, parâmetros e
Variáveis e Seção 2.6.4, Aritmética Expansão.

O seguinte comando:

a = $ (expr $a + 1)

adiciona 1 à variável a.

O seguinte comando, para "$ a" igual a qualquer um / usr / abc / arquivo ou apenas lima:

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

retorna o último segmento de um nome de caminho (ou seja, lima) Os aplicativos devem evitar o
personagem '/' usado sozinho como um argumento; expr pode interpretá-lo como o operador de divisão.

O seguinte comando:

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

é uma representação melhor do exemplo anterior. A adição do "//" caracteres
elimina qualquer ambigüidade sobre o operador de divisão e simplifica toda a expressão.
Observe também que os nomes dos caminhos podem conter caracteres contidos no IFS variável e deve
ser citado para evitar ter "$ a" expandir em vários argumentos.

O seguinte comando:

expr "$ VAR" : '. *'

retorna o número de caracteres em VAR.

JUSTIFICATIVA


Em uma proposta inicial, EREs foram usados ​​na sintaxe de expressão correspondente. Isso foi mudado
para BREs para evitar quebrar aplicativos históricos.

O uso de um líder no BRE não é especificado porque muitos históricos
implementações o trataram como um personagem especial, apesar de seu sistema
documentação. Por exemplo:

expr Foo : ^ foo expr ^ foo : ^ foo

retornar 3 e 0, respectivamente, nesses sistemas; sua documentação implicaria no
reverter. Assim, a condição de ancoragem não é especificada para evitar quebra de histórico
scripts que contam com esse recurso não documentado.

FUTURO INSTRUÇÕES


Nenhum.

Use exprposix online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

Comandos Linux

Ad