Don't warn about [ a '>' b ] needing escapes.

This commit is contained in:
Vidar Holen 2016-10-01 14:54:28 -07:00
parent 8672af29ef
commit 6b62b5bf7e
2 changed files with 2 additions and 1 deletions

View File

@ -1177,6 +1177,7 @@ prop_checkSingleBracketOperators1 = verify checkSingleBracketOperators "[ test =
prop_checkSingleBracketOperators2 = verify checkSingleBracketOperators "[ $foo > $bar ]" prop_checkSingleBracketOperators2 = verify checkSingleBracketOperators "[ $foo > $bar ]"
prop_checkSingleBracketOperators3 = verifyNot checkSingleBracketOperators "[[ foo < bar ]]" prop_checkSingleBracketOperators3 = verifyNot checkSingleBracketOperators "[[ foo < bar ]]"
prop_checkSingleBracketOperators5 = verify checkSingleBracketOperators "until [ $n <= $z ]; do echo foo; done" prop_checkSingleBracketOperators5 = verify checkSingleBracketOperators "until [ $n <= $z ]; do echo foo; done"
prop_checkSingleBracketOperators6 = verifyNot checkSingleBracketOperators "[ $foo '>' $bar ]"
checkSingleBracketOperators _ (TC_Binary id typ op lhs rhs) checkSingleBracketOperators _ (TC_Binary id typ op lhs rhs)
| typ == SingleBracket && op `elem` ["<", ">", "<=", ">="] = | typ == SingleBracket && op `elem` ["<", ">", "<=", ">="] =
err id 2073 $ "Can't use " ++ op ++" in [ ]. Escape it or use [[..]]." err id 2073 $ "Can't use " ++ op ++" in [ ]. Escape it or use [[..]]."

View File

@ -447,7 +447,7 @@ readConditionContents single =
c <- oneOf "'\"" c <- oneOf "'\""
s <- anyOp s <- anyOp
char c char c
return s return $ escaped s
anyOp = flagOp <|> flaglessOp <|> fail anyOp = flagOp <|> flaglessOp <|> fail
"Expected comparison operator (don't wrap commands in []/[[]])" "Expected comparison operator (don't wrap commands in []/[[]])"