mirror of
https://github.com/koalaman/shellcheck.git
synced 2025-03-12 12:35:25 -07:00
Don't warn about expr when using <, > and friends
This commit is contained in:
parent
c26c2b8536
commit
727d940e10
@ -451,9 +451,14 @@ checkUuoc _ _ = return ()
|
||||
prop_checkNeedlessCommands = verify checkNeedlessCommands "foo=$(expr 3 + 2)"
|
||||
prop_checkNeedlessCommands2 = verify checkNeedlessCommands "foo=`echo \\`expr 3 + 2\\``"
|
||||
prop_checkNeedlessCommands3 = verifyNot checkNeedlessCommands "foo=$(expr foo : regex)"
|
||||
checkNeedlessCommands _ cmd@(T_SimpleCommand id _ _) |
|
||||
cmd `isCommand` "expr" && (not $ ":" `elem` deadSimple cmd) =
|
||||
prop_checkNeedlessCommands4 = verifyNot checkNeedlessCommands "foo=$(expr foo \\< regex)"
|
||||
checkNeedlessCommands _ cmd@(T_SimpleCommand id _ args) |
|
||||
cmd `isCommand` "expr" && (not $ any (`elem` words) exceptions) =
|
||||
style id 2003 "expr is antiquated. Consider rewriting this using $((..)), ${} or [[ ]]."
|
||||
where
|
||||
-- These operators are hard to replicate in POSIX
|
||||
exceptions = [ ":", "<", ">", "<=", ">=" ]
|
||||
words = mapMaybe getLiteralString args
|
||||
checkNeedlessCommands _ _ = return ()
|
||||
|
||||
prop_checkPipePitfalls3 = verify checkPipePitfalls "ls | grep -v mp3"
|
||||
|
Loading…
x
Reference in New Issue
Block a user