mirror of
https://github.com/koalaman/shellcheck.git
synced 2025-09-19 18:19:22 +08:00
Fixed $(( ! n )) and incorrect warning on $(($?))
This commit is contained in:
@@ -264,7 +264,8 @@ checkDivBeforeMult _ = return ()
|
|||||||
prop_checkArithmeticDeref = verify checkArithmeticDeref "echo $((3+$foo))"
|
prop_checkArithmeticDeref = verify checkArithmeticDeref "echo $((3+$foo))"
|
||||||
prop_checkArithmeticDeref2 = verify checkArithmeticDeref "cow=14; (( s+= $cow ))"
|
prop_checkArithmeticDeref2 = verify checkArithmeticDeref "cow=14; (( s+= $cow ))"
|
||||||
prop_checkArithmeticDeref3 = verifyNot checkArithmeticDeref "cow=1/40; (( s+= ${cow%%/*} ))"
|
prop_checkArithmeticDeref3 = verifyNot checkArithmeticDeref "cow=1/40; (( s+= ${cow%%/*} ))"
|
||||||
checkArithmeticDeref (TA_Expansion _ (T_DollarBraced id str)) | not $ any (`elem` "/.:#%") $ str =
|
prop_checkArithmeticDeref4 = verifyNot checkArithmeticDeref "(( ! $? ))"
|
||||||
|
checkArithmeticDeref (TA_Expansion _ (T_DollarBraced id str)) | not $ any (`elem` "/.:#%?*@") $ str =
|
||||||
warn id $ "Don't use $ on variables in (( )) unless you want to dereference twice"
|
warn id $ "Don't use $ on variables in (( )) unless you want to dereference twice"
|
||||||
checkArithmeticDeref _ = return ()
|
checkArithmeticDeref _ = return ()
|
||||||
|
|
||||||
|
@@ -279,6 +279,7 @@ prop_a6 = isOk readArithmeticContents " 1 | 2 ||3|4"
|
|||||||
prop_a7 = isOk readArithmeticContents "3*2**10"
|
prop_a7 = isOk readArithmeticContents "3*2**10"
|
||||||
prop_a8 = isOk readArithmeticContents "3"
|
prop_a8 = isOk readArithmeticContents "3"
|
||||||
prop_a9 = isOk readArithmeticContents "a^!-b"
|
prop_a9 = isOk readArithmeticContents "a^!-b"
|
||||||
|
prop_aA = isOk readArithmeticContents "! $?"
|
||||||
readArithmeticContents =
|
readArithmeticContents =
|
||||||
readSequence
|
readSequence
|
||||||
where
|
where
|
||||||
@@ -359,6 +360,7 @@ readArithmeticContents =
|
|||||||
readNegated = do
|
readNegated = do
|
||||||
id <- getNextId
|
id <- getNextId
|
||||||
op <- oneOf "!~"
|
op <- oneOf "!~"
|
||||||
|
spacing
|
||||||
x <- readAnySigned
|
x <- readAnySigned
|
||||||
return $ TA_Unary id [op] x
|
return $ TA_Unary id [op] x
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user