Como posso comparar duas variáveis string em um ' if' declaração em Bash?
I'estou tentando obter uma declaração if
para trabalhar em Bash (utilizando Ubuntu):
#!/bin/bash
s1="hi"
s2="hi"
if ["$s1" == "$s2"]
then
echo match
fi
I'tentei várias formas da declaração if
, utilizando [["$s1" == "$s2"]]
, com e sem aspas, utilizando =
, ===
e -eq
, mas ainda recebo o seguinte erro:
[olá: comando não encontrado
I'olhei vários sites e tutoriais e os copiei, mas não funciona'o que estou fazendo de errado?
Eventualmente, eu quero dizer se $s1
contém $s2
, então como eu posso fazer isso?
Acabei de trabalhar os espaços... :/ Como é que eu digo que contém?
Eu tentei
if [[ "$s1" == "*$s2*" ]]
mas não funcionou't funciona.
568
3
Você precisa de espaços:
Eu sugeria:
Sem as aspas duplas e com apenas uma igual.
Eu não'não tenho acesso a uma caixa de linux agora, mas [ é na verdade um programa (e uma construção bash), então eu acho que você tem que colocar um espaço entre [ e o primeiro parâmetro.
Note também que o operador de igualdade de cordas parece ser um único =