Estações de trabalho on-line OnWorks Linux e Windows

Logotipo

Hospedagem online grátis para estações de trabalho

<Anterior | Conteúdo | Próxima>

Expressões de string

As seguintes expressões são usadas para avaliar strings:


Tabela 27-2: Expressões de string de teste


A expressão é verdadeira se ...

A expressão é verdadeira se ...

corda corda não é nulo.


imagem

-n corda O comprimento do corda é maior que zero.


imagem

imagem

-z corda O comprimento do corda é zero.

string1 = string2 string1 == string2

string1 e string2 são iguais. Podem ser usados ​​sinais de igual simples ou duplos, mas o uso de sinais de igual duplos é bastante preferido.


imagem

imagem

imagem

imagem

string1 != string2 string1 e string2 não são iguais. string1 > string2 string1 classifica depois string2. string1 < string2 string1 classifica antes string2.


imagem

Aviso: > e < operadores de expressão devem ser colocados entre aspas (ou escapados com uma barra invertida) quando usados ​​com teste. Se não forem, serão interpretados pelo shell como operadores de redirecionamento, com resultados potencialmente destrutivos. Observe também que, embora o bater a documentação afirma que a ordem de classificação está de acordo com a ordem de agrupamento do local atual, não. A ordem ASCII (POSIX) é usada nas versões de bater até e incluindo 4.0.


imagem


Aqui está um script que incorpora expressões de string:



#! / Bin / bash


# test-string: avalie o valor de uma string ANSWER = Maybe

if [-z "$ ANSWER"]; então

echo "Não há resposta." > & 2 saída 1

fi


if ["$ ANSWER" = "sim"]; em seguida, eco "A resposta é SIM."

elif ["$ ANSWER" = "não"]; em seguida, echo "A resposta é NÃO."

elif ["$ ANSWER" = "talvez"]; em seguida, echo "A resposta é TALVEZ."

outro

echo "A resposta é DESCONHECIDA."

fi

#! / Bin / bash


# test-string: avalie o valor de uma string ANSWER = Maybe

if [-z "$ ANSWER"]; então

echo "Não há resposta." > & 2 saída 1

fi


if ["$ ANSWER" = "sim"]; em seguida, eco "A resposta é SIM."

elif ["$ ANSWER" = "não"]; em seguida, echo "A resposta é NÃO."

elif ["$ ANSWER" = "talvez"]; em seguida, echo "A resposta é TALVEZ."

outro

echo "A resposta é DESCONHECIDA."

fi


Neste script, avaliamos a constante RESPONDA. Primeiro determinamos se a string está vazia. Se for, encerramos o script e definimos o status de saída para um. Observe o redirecionamento que é aplicado ao comando echo. Isso redireciona a mensagem de erro “Não há resposta”. ao erro padrão, que é a coisa certa a fazer com mensagens de erro. Se a string não estiver vazia, avaliamos o valor da string para ver se é igual a “sim”, “não” ou “talvez”. Fazemos isso usando elif, que é a abreviatura de "else if". Usando elif, somos capazes de construir um teste lógico mais complexo.


Top OS Cloud Computing na OnWorks: