Open JoePelz opened 8 years ago
The issue is with multiple elif statements, if a previous statement has already run. The following will generate erroneous output:
elif
x = 1 y = 1 x == 1 && y == 1 if echo "x=1 y=1, " ? elif x == 1 echo "x=1 y!=1, " ? elif y == 1 echo "x!=1 y=1, " ? else echo "x!=1 y!=1, "
It will print x=1 y=1, x!=1, y=1 rather than the expected x=1 y=1, No workaround right now.
x=1 y=1, x!=1, y=1
x=1 y=1,
The fix may be to apply DeMorgan's Law on the second or later elif when negating the previous condition.
Workaround right now is discrete if statements
x == 1 && y == 1 if echo "x=1 y=1, " y!=1 && x==1 if echo "x=1 y!=1, " y==1 && x!=1 if echo "x!=1 y=1, " x!=1 && y!=1 else echo "x!=1 y!=1, "
The issue is with multiple
elif
statements, if a previous statement has already run. The following will generate erroneous output:It will print
x=1 y=1, x!=1, y=1
rather than the expectedx=1 y=1,
No workaround right now.The fix may be to apply DeMorgan's Law on the second or later elif when negating the previous condition.