Warn about $_ in POSIX sh (fixes #1647)
This commit is contained in:
parent
023ae5dfda
commit
38bb156a1c
|
@ -175,6 +175,8 @@ prop_checkBashisms91 = verify checkBashisms "#!/bin/sh\nwait -n"
|
||||||
prop_checkBashisms92 = verify checkBashisms "#!/bin/sh\necho $((16#FF))"
|
prop_checkBashisms92 = verify checkBashisms "#!/bin/sh\necho $((16#FF))"
|
||||||
prop_checkBashisms93 = verify checkBashisms "#!/bin/sh\necho $(( 10#$(date +%m) ))"
|
prop_checkBashisms93 = verify checkBashisms "#!/bin/sh\necho $(( 10#$(date +%m) ))"
|
||||||
prop_checkBashisms94 = verify checkBashisms "#!/bin/sh\n[ -v var ]"
|
prop_checkBashisms94 = verify checkBashisms "#!/bin/sh\n[ -v var ]"
|
||||||
|
prop_checkBashisms95 = verify checkBashisms "#!/bin/sh\necho $_"
|
||||||
|
prop_checkBashisms96 = verifyNot checkBashisms "#!/bin/dash\necho $_"
|
||||||
checkBashisms = ForShell [Sh, Dash] $ \t -> do
|
checkBashisms = ForShell [Sh, Dash] $ \t -> do
|
||||||
params <- ask
|
params <- ask
|
||||||
kludge params t
|
kludge params t
|
||||||
|
@ -408,10 +410,11 @@ checkBashisms = ForShell [Sh, Dash] $ \t -> do
|
||||||
]
|
]
|
||||||
bashVars = [
|
bashVars = [
|
||||||
"OSTYPE", "MACHTYPE", "HOSTTYPE", "HOSTNAME",
|
"OSTYPE", "MACHTYPE", "HOSTTYPE", "HOSTNAME",
|
||||||
"DIRSTACK", "EUID", "UID", "SHLVL", "PIPESTATUS", "SHELLOPTS"
|
"DIRSTACK", "EUID", "UID", "SHLVL", "PIPESTATUS", "SHELLOPTS",
|
||||||
|
"_"
|
||||||
]
|
]
|
||||||
bashDynamicVars = [ "RANDOM", "SECONDS" ]
|
bashDynamicVars = [ "RANDOM", "SECONDS" ]
|
||||||
dashVars = [ ]
|
dashVars = [ "_" ]
|
||||||
isBashVariable var =
|
isBashVariable var =
|
||||||
(var `elem` bashDynamicVars
|
(var `elem` bashDynamicVars
|
||||||
|| var `elem` bashVars && not (isAssigned var))
|
|| var `elem` bashVars && not (isAssigned var))
|
||||||
|
|
Loading…
Reference in New Issue