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?
Solution 1:
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
Solution 2:
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