Используя 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?
Ответы
Ответ 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