Я попробовал следующее script
#!/bin/bash
var1="Test 1"
var2="Test 2"
if [ "$var1"="$var2" ]
then
echo "Equal"
else
echo "Not equal"
fi
Он дал мне Equal
. Хотя он должен был напечатать Not equal
Только когда я вставил пространство вокруг =
, он работал как предполагалось
if [ "$var1" = "$var2" ]
и напечатано Not equal
Почему так? Почему "$var1"="$var2"
не такой же, как "$var1" = "$var2"
?
Кроме того, когда я написал if [ "$var1"= "$var2" ]
, он дал
line 4: [: Test 1=: unary operator expected
Что это значит? Почему его ожидающий унарный оператор?