Это отлично работает:

if [[ "test" -eq "test" ]]
then
    echo "test compare"
fi

Но это не удастся, если я добавлю точку

if [[ ".test" -eq ".test" ]]
then
    echo "test compare"
fi

синтаксическая ошибка: ожидается операнд (токен ошибки ".test")

1 ответ1

3

Оператор -eq используется для сравнения целых чисел, без строк.

Вам нужно использовать = или == для правильного сравнения строк:

if [[ '.test' = '.test' ]]
then
    echo "test compare"
fi

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .