What's the bug? this: # if [[ "1" -eq 2 ]]; then echo ; fi bash: [[: \1: syntax error: operand expected (error token is "\1")
# if [[ 1 -eq "2" ]]; then echo ; fi bash: [[: \2: syntax error: operand expected (error token is "\2") It works without any quotes though: # if [[ 1 -eq 2 ]]; then echo ; fi More details: # set -xv # if [[ "$#" -eq "2" ]]; then echo ; fi if [[ "$#" -eq "2" ]]; then echo ; fi + [[ \0 -eq \2 ]] bash: [[: \0: syntax error: operand expected (error token is "\0") (# means I'm root at prompt) To revert commit 35bc7025c1db5078eb157eea7c0436754ac91aa3 of branch 'devel' I had to revert the next(currently latest) commit on branch 'devel' aka b304aabc92d3f8f2a4f6ebbc35fa4614bbb83ea8 first! So now that we're basically at commit 59c575fd914cb362b3fdced2adbc7f9d779bd21f it all works: # if [[ "$#" -eq "2" ]]; then echo ; fi if [[ "$#" -eq "2" ]]; then echo ; fi + [[ 0 -eq 2 ]]