The issue is with multiple elif statements, if a previous statement has already run.
The following will generate erroneous output:
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.
The fix may be to apply DeMorgan's Law on the second or later elif when negating the previous condition.
The issue is with multiple
elifstatements, if a previous statement has already run.The following will generate erroneous output:
It will print
x=1 y=1, x!=1, y=1rather 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.