Comparando 4 variáveis usando single if statement [closed]

1

Estou preparando um script para comparar 4 variáveis usando a instrução single if.

Abaixo está meu script:

#!/bin/bash
a="abc"
b="abc"
c="deftdgr"
d="def"
if [[ $a = $b && $d =  ]]
then
    echo "inside if loop"
    break
else
    echo "inside else loop"
fi

Minha pergunta é: Existe alguma maneira eu posso usar qualquer curinga para comparar $d e $c para que tge if declaração retorna verdadeiro valor. E a saída vem como "dentro de loop"?

    
por Utkarsh Mishra 10.04.2018 / 15:08

2 respostas

0

Basta modificar sua condição se como abaixo: -

#!/bin/bash
a="abc"
b="abc"
c="deftdgr"
d="def"
if [[ $a = "$b" && $c == "$d"* ]]
then
    echo "inside if loop"
    #break you don't need this at all
else
    echo "inside else loop"
fi
    
por 10.04.2018 / 15:52
0

Isso é chamado de operador lógico AND , lógico.

exp1 -a  exp2 returns true if both exp1 and exp2 are true.

Se você estiver usando strings, faça:

  if [[ condition1 && condition2 ]]; then  echo "blah" ; fi 

Uma maneira de expressar isso:

if [[ "$a" == "$b" && "$a" == "$c" ]]

Ao comparar números, você faz:

  if (( (a == b) && (a == c) )); then echo "blah" ; fi 

Doc clique

    
por 10.04.2018 / 16:11