From c1731bd72c397b04a5339ca84407360b746e14b6 Mon Sep 17 00:00:00 2001 From: Vidar Holen Date: Tue, 23 Jul 2013 23:46:40 -0700 Subject: [PATCH] Don't warn about redirecting sudo to /dev/null --- ShellCheck/Analytics.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ShellCheck/Analytics.hs b/ShellCheck/Analytics.hs index 3e0c4c8..cf7cdb3 100644 --- a/ShellCheck/Analytics.hs +++ b/ShellCheck/Analytics.hs @@ -1067,11 +1067,12 @@ prop_checkSudoRedirect3 = verify checkSudoRedirect "sudo cmd >> file" prop_checkSudoRedirect4 = verify checkSudoRedirect "sudo cmd &> file" prop_checkSudoRedirect5 = verifyNot checkSudoRedirect "sudo cmd 2>&1" prop_checkSudoRedirect6 = verifyNot checkSudoRedirect "sudo cmd 2> log" +prop_checkSudoRedirect7 = verifyNot checkSudoRedirect "sudo cmd > /dev/null 2>&1" checkSudoRedirect (T_Redirecting _ redirs cmd) | cmd `isCommand` "sudo" = mapM_ warnAbout redirs where warnAbout (T_FdRedirect _ s (T_IoFile id op file)) - | s == "" || s == "&" = + | (s == "" || s == "&") && (not $ special file) = case op of T_Less _ -> info (getId op) $ @@ -1084,6 +1085,7 @@ checkSudoRedirect (T_Redirecting _ redirs cmd) | cmd `isCommand` "sudo" = "sudo doesn't affect redirects. Use .. | sudo tee -a file" _ -> return () warnAbout _ = return () + special file = (concat $ deadSimple file) == "/dev/null" checkSudoRedirect _ = return () prop_checkPS11 = verify checkPS1Assignments "PS1='\\033[1;35m\\$ '"