From 3760e7945f37944c1b1c4f2b73e1c49ac53e4bb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristian=20Adri=C3=A1n=20Ontivero?= Date: Thu, 10 Jan 2019 11:03:33 +0100 Subject: [PATCH] Check readonly flags in dash/POSIX sh (fixes #1448) --- src/ShellCheck/Checks/ShellSupport.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ShellCheck/Checks/ShellSupport.hs b/src/ShellCheck/Checks/ShellSupport.hs index 674256e..7f30224 100644 --- a/src/ShellCheck/Checks/ShellSupport.hs +++ b/src/ShellCheck/Checks/ShellSupport.hs @@ -143,7 +143,8 @@ prop_checkBashisms60 = verifyNot checkBashisms "#!/bin/sh\njobs -p" prop_checkBashisms61 = verifyNot checkBashisms "#!/bin/sh\njobs -lp" prop_checkBashisms62 = verify checkBashisms "#!/bin/sh\nexport -f foo" prop_checkBashisms63 = verifyNot checkBashisms "#!/bin/sh\nexport -p" - +prop_checkBashisms64 = verify checkBashisms "#!/bin/sh\nreadonly -a" +prop_checkBashisms65 = verifyNot checkBashisms "#!/bin/sh\nreadonly -p" checkBashisms = ForShell [Sh, Dash] $ \t -> do params <- ask kludge params t @@ -292,6 +293,7 @@ checkBashisms = ForShell [Sh, Dash] $ \t -> do ("jobs", ["l", "p"]), ("printf", []), ("read", if isDash then ["r", "p"] else ["r"]), + ("readonly", ["p"]), ("ulimit", if isDash then ["H", "S", "t", "f", "d", "s", "c", "m", "l", "p", "n"] else ["f"]) ] bashism t@(T_SourceCommand id src _) =