ShellCheck v0.7.0 Release Notes
Release Date: 2019-07-28 // over 4 years ago-
โ Added
- ๐ Precompiled binaries for macOS and Linux aarch64
- ๐ Preliminary support for fix suggestions
- ๐ New
-f diff
unified diff format for auto-fixes - โ Files containing Bats tests can now be checked
- Directory wide directives can now be placed in a
.shellcheckrc
- โ
Optional checks: Use
--list-optional
to show a list of tests, Enable with-o
flags orenable=name
directives - Source paths: Use
-P dir1:dir2
or asource-path=dir1
directive to specify search paths for sourced files. - json1 format like --format=json but treats tabs as single characters
- Recognize FLAGS variables created by the shflags library.
- Site-specific changes can now be made in Custom.hs for ease of patching
- SC2154: Also warn about unassigned uppercase variables (optional)
- SC2252: Warn about
[ $a != x ] || [ $a != y ]
, similar to SC2055 - SC2251: Inform about ineffectual ! in front of commands
- SC2250: Warn about variable references without braces (optional)
- 0๏ธโฃ SC2249: Warn about
case
with missing default case (optional) - SC2248: Warn about unquoted variables without special chars (optional)
- SC2247: Warn about $"(cmd)" and $"{var}"
- SC2246: Warn if a shebang's interpreter ends with /
- SC2245: Warn that Ksh ignores all but the first glob result in
[
- SC2243/SC2244: Suggest using explicit -n for
[ $foo ]
(optional) - SC1135: Suggest not ending double quotes just to make $ literal
๐ Changed
- If a directive or shebang is not specified, a
.bash/.bats/.dash/.ksh
extension will be used to infer the shell type when present. - Disabling SC2120 on a function now disables SC2119 on call sites
๐ Fixed
- ๐จ SC2183 no longer warns about missing printf args for
%()T