From 8e5e77ad76ea8272e7601798ac9d9ae2c9e4f9ce Mon Sep 17 00:00:00 2001 From: Vidar Holen Date: Sun, 2 Apr 2017 09:49:47 -0700 Subject: [PATCH] Don't suggest removing $ for (( $! + ${!var} )) --- ShellCheck/Analytics.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ShellCheck/Analytics.hs b/ShellCheck/Analytics.hs index c6da563..7ad172c 100644 --- a/ShellCheck/Analytics.hs +++ b/ShellCheck/Analytics.hs @@ -1115,11 +1115,13 @@ prop_checkArithmeticDeref10= verifyNot checkArithmeticDeref "(( a[\\$foo] ))" prop_checkArithmeticDeref11= verifyNot checkArithmeticDeref "a[$foo]=wee" prop_checkArithmeticDeref12= verify checkArithmeticDeref "for ((i=0; $i < 3; i)); do true; done" prop_checkArithmeticDeref13= verifyNot checkArithmeticDeref "(( $$ ))" +prop_checkArithmeticDeref14= verifyNot checkArithmeticDeref "(( $! ))" +prop_checkArithmeticDeref15= verifyNot checkArithmeticDeref "(( ${!var} ))" checkArithmeticDeref params t@(TA_Expansion _ [b@(T_DollarBraced id _)]) = unless (isException $ bracedString b) getWarning where isException [] = True - isException s = any (`elem` "/.:#%?*@$-") s || isDigit (head s) + isException s = any (`elem` "/.:#%?*@$-!") s || isDigit (head s) getWarning = fromMaybe noWarning . msum . map warningFor $ parents params t warningFor t = case t of