Look at the http://git.overlays.gentoo.org/gitweb/?p=proj/openrc.git;a=commitdiff;h=f671e0a28fe566566b5465afbda985542f77ed8a;hp=6d84a4aed8dd519641c8fd6994fb93135efb122d and see lines: - [ "${n}" != "mode" ] || continue + [ "${n}" != "mode" -o "${n}" != "miimon" ] || continue The second one must be looked as: + [ "${n}" != "mode" -a "${n}" != "miimon" ] || continue Reproducible: Always Let's try simple script: #!/bin/bash for n in a b c miimon mode; do [ "${n}" != "mode" -o "${n}" != "miimon" ] || continue echo "${n}" done We get a b c miimon mode Must be a b c So with these #!/bin/bash for n in a b c miimon mode; do [ "${n}" != "mode" -a "${n}" != "miimon" ] || continue echo "${n}" done we are get what we need.
fixed in commit e0bbe8d, logic changed to be more readable as well.
*** Bug 474902 has been marked as a duplicate of this bug. ***
*** Bug 468964 has been marked as a duplicate of this bug. ***