Подтвердить что ты не робот

Используя OR в оболочке script

Моя оболочка script выглядит примерно так:

if [[ $uptime -lt 0 ]];then
some code
fi

if [[ $questions -lt 1 ]];then
some code
fi

if [[ $slow -gt 10 ]];then
some code
fi

Как использовать OR и иметь одно предложение if?

4b9b3361

Ответ 1

if [ $uptime -lt 0 -o $questions -lt 1 -o $slow -gt 10 ] ; then
    some code
fi

См. man test для доступных синтаксиса и параметров. Оператор [ является просто сокращенным для test, поэтому приведенный выше код эквивалентен:

if test $uptime -lt 0 -o $questions -lt 1 -o $slow -gt 10 ; then
    some code
fi

Ответ 2

Вы должны иметь возможность использовать || или -o, я думаю следующее:

if [ $uptime -lt 0 ] || [ $questions -lt 1 ] || [ $slow -gt 10 ]; then
    some code
fi