shantanuo
shantanuo

Reputation: 32286

using OR in shell script

My shell script looks something like this...

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

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

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

How do I use OR and have a single if clause?

Upvotes: 54

Views: 133575

Answers (2)

Marcus Whybrow
Marcus Whybrow

Reputation: 19998

You should be able to use || or -o I think as follows:

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

Upvotes: 78

DarkDust
DarkDust

Reputation: 92384

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

See man test for available syntax and options. The [ operator is just shorthand for test, so the above code is equivalent to:

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

Upvotes: 67

Related Questions