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
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.