mardi 3 juillet 2018

If statement 3 conditions Bash

I want to do an if statement with three conditions that have to be satisfied at the same time. I am using Ubuntu Bash for Windows and the values $c1, $c2 and $c3 are non-integer (decimal negative numbers).

if [ (( $(echo "$c1 < 0" | bc -l) )) ]  && [ (( $(echo "$c2 < 0" | bc -l) )) ] && [ (( $(echo "$c3 < 0" | bc -l) )) ];
    then
      >&2 echo -e "   ++ Constraints OK"

else
      >&2 echo -e "   ++ Constraints WRONG"

fi

However, I get the following syntax error in the if line: syntax error near unexpected token `('

If I just put one condition:

if (( $(echo "$c1 < 0" | bc -l) )); 

it works, but when I add the three of them as AND (&&), I get the error. Can anyone help me?

Aucun commentaire:

Enregistrer un commentaire