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"fiNo 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: 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 Se você quiser testar se uma variável tem um valor, você pode usar o seguinte teste: 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". 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: Para testar se uma variável tem um valor ou não (isto é, tem um comprimento de zero), use -z da seguinte forma: 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. 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: 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 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: Por exemplo: 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: Se você perdeu as três primeiras partes deste guia, você pode encontrá-las clicando nos seguintes links: Na próxima parte do guia, estarei cobrindo a aritmética. Guia para iniciantes BASH - Comparando Strings
Guia para iniciantes BASH - Comparando Strings
Guia para iniciantes BASH - Comparando Strings
Guia para iniciantes - BASH - Comparando Números
Guia para iniciantes - BASH - Comparando Números
Guia para iniciantes - BASH - Comparando Números
Beginners Guide To BASH - Operadores de Comparação - Resumo