Estoy intentando conseguir que una sentencia if
funcione en Bash (usando Ubuntu):
#!/bin/bash
s1="hi"
s2="hi"
if ["$s1" == "$s2"]
then
echo match
fi
He probado varias formas de la sentencia if
, usando [["$s1" == "$s2"]]
, con y sin comillas, usando =
, ==
y -eq
, pero sigo obteniendo el siguiente error:
[hi: command not found
He mirado en varios sitios y tutoriales y los he copiado, pero no funciona, ¿qué estoy haciendo mal?
Al final, quiero decir si $s1
contiene $s2
, así que ¿cómo puedo hacer eso?
Acabo de resolver la parte de los espacios... :/ ¿Cómo digo "contiene"?
He intentado
if [[ "$s1" == "*$s2*" ]]
pero no funcionó.
No tengo acceso a una caja de linux ahora mismo, pero [ es en realidad un programa (y un builtin de bash), así que creo que tienes que poner un espacio entre [ y el primer parámetro.
También tenga en cuenta que el operador de igualdad de la cadena parece ser un solo =