From c3a56659f4728163a5731b66535260ede38cf701 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristian=20Adri=C3=A1n=20Ontivero?= Date: Mon, 14 Jan 2019 08:18:17 +0100 Subject: [PATCH] Check cd flags under dash & POSIX sh (fixes #1457) --- src/ShellCheck/Checks/ShellSupport.hs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ShellCheck/Checks/ShellSupport.hs b/src/ShellCheck/Checks/ShellSupport.hs index 7f30224..64bb383 100644 --- a/src/ShellCheck/Checks/ShellSupport.hs +++ b/src/ShellCheck/Checks/ShellSupport.hs @@ -145,6 +145,8 @@ 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" +prop_checkBashisms66 = verifyNot checkBashisms "#!/bin/sh\ncd -P ." +prop_checkBashisms67 = verify checkBashisms "#!/bin/sh\ncd -P -e ." checkBashisms = ForShell [Sh, Dash] $ \t -> do params <- ask kludge params t @@ -288,6 +290,7 @@ checkBashisms = ForShell [Sh, Dash] $ \t -> do "typeset" ] ++ if not isDash then ["local"] else [] allowedFlags = Map.fromList [ + ("cd", ["L", "P"]), ("exec", []), ("export", ["p"]), ("jobs", ["l", "p"]),