I'm trying to get an if
statement to work in Bash (using Ubuntu):
#!/bin/bash
s1="hi"
s2="hi"
if ["$s1" == "$s2"]
then
echo match
fi
I've próbował różne formy if
oświadczenie, używając [["$s1" == "$s2"]]
, z i bez cudzysłowów, używając =
, ==
i -eq
, ale wciąż dostaję następujący błąd:
[hi: command not found
I've looked at various sites and tutorials and copied those, but it doesn't work - what am I doing wrong?
Ostatecznie chcę powiedzieć, czy $s1
zawiera $s2
, więc jak mogę to zrobić?
Właśnie rozpracowałem bit spacji... :/ Jak powiedzieć contains?
Próbowałem
if [[ "$s1" == "*$s2*" ]]
ale to nie zadziałało.
Nie mam teraz dostępu do linuxowego pudełka, ale [ jest właściwie programem (i wbudowanym bashem), więc myślę, że musisz umieścić spację między [ a pierwszym parametrem.
Zauważ też, że operator równości łańcuchów wydaje się być pojedynczym =