Olá Boa noite, como estão? no código abaixo, não seria dois símbolo do sinal de igual ?
if [ "$string1" = "$string2" ]; then
# Comandos a serem executados se as strings forem iguais.
fi
obrigado,
Mauricio G
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá Boa noite, como estão? no código abaixo, não seria dois símbolo do sinal de igual ?
if [ "$string1" = "$string2" ]; then
# Comandos a serem executados se as strings forem iguais.
fi
obrigado,
Mauricio G
Oii, tudo bem?
Boa pergunta, Maurício!
No Bash, quando usamos o comando test (aquele que aparece entre colchetes [ ]), o operador correto para comparar strings é um único sinal de igual (=).
Ou seja, este trecho está certo:
if [ "$string1" = "$string2" ]; then
echo "As strings são iguais!"
fi
E por que não usamos ==?
test ([ ]), a forma portável (que funciona em várias versões do shell, inclusive no sh) é o operador =.== também funciona, mas apenas no Bash e em alguns shells compatíveis. Ele é aceito como uma extensão, mas não faz parte do padrão POSIX.=.Então:
= → Comparação de strings (forma correta e portável).== → Funciona no Bash, mas não é garantido em outros shells.