mirror of
https://github.com/koalaman/shellcheck.git
synced 2025-08-08 17:11:00 +08:00
Suppress SC2035 for echo * and printf * (fixes #2036)
This commit is contained in:
@@ -2320,8 +2320,11 @@ prop_checkGlobsAsOptions1 = verify checkGlobsAsOptions "rm *.txt"
|
|||||||
prop_checkGlobsAsOptions2 = verify checkGlobsAsOptions "ls ??.*"
|
prop_checkGlobsAsOptions2 = verify checkGlobsAsOptions "ls ??.*"
|
||||||
prop_checkGlobsAsOptions3 = verifyNot checkGlobsAsOptions "rm -- *.txt"
|
prop_checkGlobsAsOptions3 = verifyNot checkGlobsAsOptions "rm -- *.txt"
|
||||||
prop_checkGlobsAsOptions4 = verifyNot checkGlobsAsOptions "*.txt"
|
prop_checkGlobsAsOptions4 = verifyNot checkGlobsAsOptions "*.txt"
|
||||||
checkGlobsAsOptions _ (T_SimpleCommand _ _ args) =
|
prop_checkGlobsAsOptions5 = verifyNot checkGlobsAsOptions "echo 'Files:' *.txt"
|
||||||
mapM_ check $ takeWhile (not . isEndOfArgs) (drop 1 args)
|
prop_checkGlobsAsOptions6 = verifyNot checkGlobsAsOptions "printf '%s\\n' *"
|
||||||
|
checkGlobsAsOptions _ cmd@(T_SimpleCommand _ _ args) =
|
||||||
|
unless ((fromMaybe "" $ getCommandBasename cmd) `elem` ["echo", "printf"]) $
|
||||||
|
mapM_ check $ takeWhile (not . isEndOfArgs) (drop 1 args)
|
||||||
where
|
where
|
||||||
check v@(T_NormalWord _ (T_Glob id s:_)) | s == "*" || s == "?" =
|
check v@(T_NormalWord _ (T_Glob id s:_)) | s == "*" || s == "?" =
|
||||||
info id 2035 "Use ./*glob* or -- *glob* so names with dashes won't become options."
|
info id 2035 "Use ./*glob* or -- *glob* so names with dashes won't become options."
|
||||||
|
Reference in New Issue
Block a user