LINUX.ORG.RU

Не могу разобраться в if в bash

 , ,


0

1

Есть такой кусок кода:

read $value_by_user

if ["$value_by_user" -gt "5"]; then
    echo что-то там
else
    echo что-то другое
fi

Пробовал писать условие в (( )), пробовал без скобок. На все случаи интерпретатор баша ругается. В данном конкретном случае: integer expression expected

При круглых скобках: syntax error in expression (error token is 5)

При квадратных скобках без обертывания 5 в кавычки: -gt unary operator expected

Ответ на: комментарий от anonymous

if [[ $value_by_user -gt 5 ]]; then

Когда оператор сравнения целых чисел, тогда операнды у нас целые выражения, потому '$' тут не нужен, вообще можно записать например value_by_user*2

vodz ★★★★★ ()