if (( ret == 137 && ret == 143 ))
then
echo "Process killed by SIGTERM/SIGKILL"
fi
if (( ret == 137 || ret == 143 ))
then
echo "Process killed by SIGTERM/SIGKILL"
fi
The problematic condition will never trigger because of a logic error.
In English one think say "I want to check for the numbers
137
and 143
", but the test ends up checking
that the number is both 137
and 143
at the
same time, which it can't be (if the number is 137, it necessarily won't
be 143, and vice versa).
The correct check is "if the number is 137
or if the
number is 143
", which will be true if the value is either
137 or 143.
None
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.