Skip to main content

Guia para iniciantes BASH - Comparando as coisas

Como COMPRAR Armar e Equipamentos mais BARATOS no Ragnarok Mobile Eternal Love (ROM) (Abril 2025)

Como COMPRAR Armar e Equipamentos mais BARATOS no Ragnarok Mobile Eternal Love (ROM) (Abril 2025)
Anonim
01 de 08

Guia para iniciantes BASH - Comparando as coisas

Na parte anterior do tutorial BASH, analisamos as instruções condicionais.

Esse guia era muito longo, mas na verdade apenas mostrava como controlar o fluxo da lógica. Este guia mostra as diferentes maneiras em que você pode comparar variáveis.

A imagem acima mostra o primeiro exemplo no guia desta semana:

#! / bin / bashname1 = "gary"name2 = "bob"if "$ name1" = "$ name2"então echo "os nomes correspondem"outro echo "os nomes não correspondem"fi

No script acima eu defini duas variáveis ​​chamadas name1 e name2 e atribui a elas os valores "gary" e "bob". Como as variáveis ​​estão contidas entre aspas, elas são chamadas de variáveis ​​de string, que se tornam mais relevantes à medida que o tutorial continua.

Tudo o que o script faz é comparar o valor de $ name1 e $ name2 e, se eles corresponderem à saída, a string "os nomes correspondem" e, se não saírem a string "os nomes não correspondem".

As aspas em torno das variáveis ​​$ name1 e $ name2 são importantes porque, se o valor de qualquer uma delas não tiver sido definido, o script ainda funcionará.

Por exemplo, se $ name1 nunca foi definido, então você estaria comparando "" com "bob". Sem as aspas, você ficaria com = "bob", o que claramente falha.

Você também pode usar a notação! = Para definir diferente da seguinte:

if "$ name1"! = "$ name2" 02 de 08

Guia para iniciantes BASH - Comparando Strings

No exemplo acima, o teste compara as mesmas duas seqüências de caracteres e faz a pergunta se vir antes de Bob no alfabeto?

Claramente, a resposta é não.

O script introduz o operador menor que (<). Como o operador menor que também é usado para o redirecionamento, você tem que escapar com uma barra () para que ele signifique menos do que é porque no script acima eu comparei "$ name1" <"$ name2".

O oposto de menos do que é obviamente maior que. Em vez de usar <use >.

Por exemplo

if "$ name1" > "$ name2" 03 de 08

Guia para iniciantes BASH - Comparando Strings

Se você quiser testar se uma variável tem um valor, você pode usar o seguinte teste:

if -n $ name2

No script acima, eu testei se $ name2 recebeu um valor e se não aparece a mensagem "Não há bob, nunca houve um bob aparece".

04 de 08

Guia para iniciantes BASH - Comparando Strings

No slide anterior, cobrimos se uma variável foi definida ou não. Às vezes, embora uma variável pode ter sido definida, mas pode não ter realmente um valor.

Por exemplo:

name1 = ""

Para testar se uma variável tem um valor ou não (isto é, tem um comprimento de zero), use -z da seguinte forma:

if -z $ name1

No script acima eu configurei $ name1 para uma string de comprimento zero e então comparei usando -z. Se $ name1 tiver zero de comprimento, a mensagem "gary has out out for the evening" será exibida.

05 de 08

Guia para iniciantes - BASH - Comparando Números

Até agora, todas as comparações foram para strings. E quanto a comparar números?

O script acima mostra um exemplo de comparação de dois números:

#! / bin / basha = 4b = 5if $ a = $ bentão eco "4 = 5"outro eco "4 não é igual a 5"fi

Para definir uma variável como um número, basta defini-la sem aspas. Você pode então comparar os números com um sinal de igual.

Eu prefiro no entanto usar o seguinte operador para comparar dois números:

Se $ a -eq $ b 06 de 08

Guia para iniciantes - BASH - Comparando Números

Se você quiser comparar se um número é menor que outro número, você pode usar o operador menor que (<). Tal como acontece com as seqüências de caracteres, você tem que escapar do operador menor do que com uma barra. ( <).

Uma maneira melhor de comparar números é usar a seguinte notação:

  • Menos que -lt
  • Menor ou igual a -le
  • Maior que -gt
  • Maior que ou igual a -ge

Por exemplo:

se $ a -lt $ bif $ a -le $ bif $ a -ge $ bif $ a -gt $ b 07 de 08

Guia para iniciantes - BASH - Comparando Números

Finalmente, para este guia, se você quiser testar se dois números são diferentes, pode usar os operadores menor que e maior que (<>) ou -ne da seguinte forma:

if $ a <> $ bif $ a -ne $ b 08 de 08

Beginners Guide To BASH - Operadores de Comparação - Resumo

Se você perdeu as três primeiras partes deste guia, você pode encontrá-las clicando nos seguintes links:

  • Olá Mundo
  • Parâmetros de entrada
  • Condições e Variáveis

Na próxima parte do guia, estarei cobrindo a aritmética.