Я попробовал следующее 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
Что это значит? Почему его ожидающий унарный оператор?