Added warning for a && b || c
This commit is contained in:
parent
67d27ea42d
commit
69183f6609
|
@ -19,7 +19,8 @@ basicChecks = [
|
||||||
checkForInLs,
|
checkForInLs,
|
||||||
checkMissingForQuotes,
|
checkMissingForQuotes,
|
||||||
checkUnquotedExpansions,
|
checkUnquotedExpansions,
|
||||||
checkRedirectToSame
|
checkRedirectToSame,
|
||||||
|
checkShorthandIf
|
||||||
]
|
]
|
||||||
|
|
||||||
modifyMap = modify
|
modifyMap = modify
|
||||||
|
@ -128,4 +129,10 @@ checkRedirectToSame s@(T_Pipeline _ list) =
|
||||||
checkRedirectToSame _ = return ()
|
checkRedirectToSame _ = return ()
|
||||||
|
|
||||||
|
|
||||||
|
prop_checkShorthandIf = verify checkShorthandIf "[[ ! -z file ]] && scp file host || rm file"
|
||||||
|
prop_checkShorthandIf2 = verifyNot checkShorthandIf "[[ ! -z file ]] && { scp file host || echo 'Eek'; }"
|
||||||
|
checkShorthandIf (T_AndIf id _ (T_OrIf _ _ _)) =
|
||||||
|
addNoteFor id $ Note InfoC "Note that A && B || C is not if-then-else. C may run when A is true."
|
||||||
|
checkShorthandIf _ = return ()
|
||||||
|
|
||||||
lt x = trace (show x) x
|
lt x = trace (show x) x
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# When the network goes down, the backup gets deleted
|
||||||
|
[[ ! -z backup ]] && scp backup host: || rm backup
|
Loading…
Reference in New Issue