Vidar Holen
6b62b5bf7e
Don't warn about [ a '>' b ] needing escapes.
2016-10-01 14:54:28 -07:00
Vidar Holen
1a8e34bfea
Don't suggest grep -c when used with -o
2016-10-01 13:26:53 -07:00
Vidar Holen
4fc4899803
Consider ${foo:=bar} an assignment.
2016-09-24 19:01:13 -07:00
Vidar Holen
cd4896192c
Don't consider ~foo constant.
2016-09-24 15:32:44 -07:00
Vidar Holen
6a4b86cbea
Fix warning for >&
2016-09-24 14:08:00 -07:00
Vidar Holen
fe2398edc9
Warn about >& in sh
2016-09-24 14:03:54 -07:00
Vidar Holen
3a7dc86de1
Don't warn about unused vars with readonly -f
2016-09-24 13:42:20 -07:00
Vidar Holen
a90b6d14b3
Count b as a reference in ${a:b}
2016-09-05 14:01:53 -07:00
Vidar Holen
5a46eeb09a
Allow `#inline comments` without SC2046.
2016-09-05 12:38:35 -07:00
Vidar Holen
47a7065a7a
Add style note for 'mycmd; if [ $? -eq 0 ]'.
2016-08-28 20:54:08 -07:00
Vidar Holen
13a2070a32
Support multidimensional KSH arrays and warn in Bash.
2016-08-06 18:40:08 -07:00
Vidar Holen
6a71ff6f46
Don't suggest removing $ in (( ${COLUMNS-80} ))
2016-07-30 10:42:33 -07:00
Vidar Holen
42f7479fb8
Don't warn about missing shebang when using directives.
2016-07-01 22:02:06 -07:00
Vidar Holen
50084c06c5
Don't warn when $(seq) is used unquoted.
2016-07-01 21:26:46 -07:00
Vidar Holen
07fd5724b8
Recognize declare -A statements when value is inlined.
2016-06-26 14:57:52 -07:00
Vidar Holen
3e5ecaa262
Parse indices of associative arrays properly
2016-06-26 14:39:49 -07:00
Vidar Holen
85e69f86eb
In (( x = y )), logic to not reference x also grabbed y
2016-05-24 09:12:47 -07:00
Vidar Holen
1d04754b37
Don't warn about a && b || c in if/while/until.
2016-05-14 17:14:32 -07:00
Vidar Holen
13ff0a7432
Warn when arrays are appended/assigned scalars.
2016-05-14 16:24:18 -07:00
Vidar Holen
40136fe249
Fix parsing of [[ a =~ {$var} ]]
2016-05-08 12:19:25 -07:00
Vidar Holen
86999ded1f
Improve 'let' parsing, trigger unused var for ((a=1))
2016-04-30 13:45:39 -07:00
Vidar Holen
7551a241ad
Add missing warnings for {$i..10} similar to {1..$i}
2016-04-23 16:00:56 -07:00
Vidar Holen
db0c8c2dc9
Separate out command specific checks.
...
The checks use a better interface and give
an overall speed boost of 10%.
2016-04-10 17:01:40 -07:00
Vidar Holen
9911470d67
Don't warn about LINENO in dash
2016-04-09 09:56:07 -07:00
Vidar Holen
a5821c3a4d
s/sh/bash/ in SC2176 because of posix guarantees.
2016-03-19 16:47:55 -07:00
Vidar Holen
c91083354f
Warn about timing pipelines and compound commands in sh/dash.
2016-03-19 16:14:55 -07:00
Vidar Holen
944313c6ba
Directives after the shebang now apply to the entire script.
...
Also adds support for the shell= directive.
2016-03-08 20:16:16 -08:00
Vidar Holen
6af1aeb259
Add warning for multi-digit FDs in posix/dash.
2016-03-08 17:37:12 -08:00
Vidar Holen
7e75d12ce1
Improve expansion in single quote false positives.
2016-01-26 19:57:18 -08:00
Vidar Holen
7d278c3ca1
Ignore SC2055 if rhs of either != is a glob.
2016-01-26 19:12:47 -08:00
Vidar Holen
5f1175fb58
Add special case warning to quote in eval echo {1..$n}
2016-01-25 18:46:55 -08:00
Vidar Holen
f9909504dd
Make SC2174 only trigger for nested directories.
2016-01-09 14:24:31 -08:00
koalaman
fa4cefda9d
Merge pull request #572 from eatnumber1/mkdir
...
Add a warning when you mkdir with both -p and -m.
2016-01-09 13:58:53 -08:00
Russell Harmon
f2f6c66902
Add a warning when you mkdir with both -p and -m.
...
When using -p, parent directories will not be created with the mode
specified with -m and will instead be created using the default behavior
controlled by umask.
2016-01-08 14:15:11 -08:00
Vidar Holen
33ab998b02
Don't warn about quoting for [ -v var ]
2015-12-12 15:47:35 -08:00
Vidar Holen
d00ca0c283
Fix/generalize message for SC2070.
2015-12-05 17:29:06 -08:00
Vidar Holen
8bc98d89a7
Let SC2094 ignore echo/printf/sponge.
2015-12-05 16:50:11 -08:00
Vidar Holen
8ec87d6655
Mention -- as alternative to ./* in SC2035
2015-12-05 13:45:56 -08:00
Vidar Holen
c3df2bf761
Don't warn about deprecated `` when just used for comments.
2015-12-05 13:33:39 -08:00
Vidar Holen
1a5296659b
Properly handle escaped double quotes in quoted backtick expressions.
2015-11-01 12:30:33 -08:00
Vidar Holen
a66ee2967c
Trap warnings for kill/stop, non-XSI ints, "sig"-prefix and casing.
2015-10-31 17:36:24 -07:00
Vidar Holen
d985380f48
Consider "echo $(<file)" a bashism, and don't warn about UUOE.
2015-10-31 14:48:08 -07:00
Vidar Holen
6739c4a729
Count declare -p as a variable reference.
2015-10-31 14:16:45 -07:00
Vidar Holen
7415c9dcb7
Warn about non-posix function names like x-y
2015-10-31 13:53:17 -07:00
Vidar Holen
48fd793581
Update getFlag function to also return non-flags.
2015-10-27 22:07:29 -07:00
Vidar Holen
8f5f91f041
Warn about ]] with no corresponding [[.
2015-10-17 10:31:14 -07:00
Vidar Holen
8d9d4533c3
Don't trigger constant checks for -ot/-ef/-nt
2015-10-17 09:28:29 -07:00
Vidar Holen
4ce916ec1d
Include bash builtin arrays in SC2128.
2015-10-14 12:31:09 -07:00
Vidar Holen
b9cb040128
Account for dereferencing for numerical ops in [[ ]].
2015-10-14 11:11:17 -07:00
Vidar Holen
2488be7298
Don't warn about undefined HOSTNAME if it's being assigned.
2015-10-14 09:21:21 -07:00
Vidar Holen
f77821625c
Add dash as a first class supported shell.
2015-10-13 11:37:50 -07:00
Vidar Holen
1eece5b2ee
Add warning about local in sh or not in bash functions.
2015-10-10 20:48:52 -07:00
Vidar Holen
58d45e3fa4
Warn about non-posix %q and flags for printf.
2015-10-10 20:14:17 -07:00
Vidar Holen
5aaa1a7d9a
Split SC2165 messages into separate codes (2167).
2015-10-10 19:26:14 -07:00
Vidar Holen
4172722167
Don't warn about quoted rhs of =~ when not a regex.
2015-10-03 15:21:57 -07:00
Vidar Holen
485593da2c
Don't warn about disrespected quotes in ${#var}.
2015-10-01 18:56:45 -07:00
Vidar Holen
1181c6b3af
Warn about ${!var} in POSIX mode.
2015-10-01 18:34:09 -07:00
Vidar Holen
ee181cfc43
Don't warn about comparisons when redirecting stderr for test.
2015-10-01 18:19:47 -07:00
Vidar Holen
5467a0f1d9
Account for set -o errexit and #!/bin/bash -e for unchecked cd.
2015-09-28 18:52:03 -07:00
Vidar Holen
3fc77d94ec
Warn about [ -n foo ] when foo is entirely constant.
2015-09-28 18:46:32 -07:00
Vidar Holen
0f00de80fd
Support {n}>&1 named file descriptors.
2015-09-05 09:48:34 -07:00
Vidar Holen
bf9297e2a5
Parse ksh ${ ..; } expansions.
2015-09-03 20:26:02 -07:00
Vidar Holen
10276c878d
Don't consider ${!os*} reference of 'os'
2015-08-22 13:55:17 -07:00
Vidar Holen
ccb6bf1ed5
Don't warn about uuoc for cat -n and similar.
2015-08-16 18:26:38 -07:00
Vidar Holen
f31c8bd3a3
Preliminary support for sourced files.
2015-08-16 17:18:51 -07:00
Vidar Holen
0dd61b65d8
Moved the various AST convenience functions to a separate module.
2015-08-16 12:53:23 -07:00
Vidar Holen
07747b30fb
Warn about undefined behavior of test -a and -o.
2015-08-15 22:42:06 -07:00
Vidar Holen
26d16eb8ad
Avoid new 2129 warnings when disabling the first one.
2015-08-15 14:23:45 -07:00
Vidar Holen
54b2d14847
Stop 2164 and 2103 about 'cd foo || exit' from overlapping.
2015-08-15 14:10:40 -07:00
Vidar Holen
f653362b18
Warn about bashism [^bar].
2015-08-15 13:50:09 -07:00
Vidar Holen
67cfcfd206
Separated formatters into multiple files.
2015-08-15 12:51:13 -07:00
Vidar Holen
72eeafe002
Some cleanup to make room for future improvements.
2015-08-15 09:34:19 -07:00
Vidar Holen
6d9e8472e6
Less confusing message for SC2140
2015-08-02 19:55:47 -07:00
Chad Brewbaker
95cfd87589
cleanup
2015-07-23 12:51:38 -05:00
Vidar Holen
0a1beb883f
Don't warn about unquoted :+ expansions.
2015-07-19 12:28:31 -07:00
Vidar Holen
83adcba88e
Warn when nested loops have conflicting variable names.
2015-07-19 11:30:57 -07:00
Vidar Holen
35fb5073f4
Fixed cd foo; bar; cd -; check not trigger on top level
2015-07-18 19:58:09 -07:00
Vidar Holen
de59c3586b
Warn about 'cd' when not used as part of a conditional
2015-07-18 19:37:58 -07:00
Vidar Holen
8894333556
Warn about 'export $foo'
2015-07-18 13:23:36 -07:00
Vidar Holen
b1843c520f
Warn when using read without -r
2015-07-18 12:30:08 -07:00
Vidar Holen
d406ba9950
Special case messages for [ true ] and false/0/1
2015-07-18 11:47:28 -07:00
Vidar Holen
7929a9dbba
Makes literal check work for args to -z and -n
2015-07-18 11:08:42 -07:00
Vidar Holen
7e84ad031f
Warn about [ foo ] when "foo" is non-constant with constant parts.
2015-07-18 09:56:58 -07:00
Vidar Holen
7eef12102b
Make 2077 point to the = in [ foo=bar ]
2015-07-18 09:22:52 -07:00
Vidar Holen
3d83b87c9a
Added copyright notice to individual source files.
2015-06-30 19:21:12 -07:00
Vidar Holen
349dfdab35
Relicense from AGPL v3 to GPL v3.
2015-06-20 09:52:07 -07:00
Vidar Holen
1ab29ddb39
Made SC2082 indirection message more sh friendly.
2015-06-14 17:20:52 -07:00
Vidar Holen
09b7788412
Don't consider declare -Ffp assignments.
2015-06-14 16:51:18 -07:00
Vidar Holen
ef2135f3aa
Don't warn about unpassed parameters if used in child functions.
2015-06-14 16:14:05 -07:00
Vidar Holen
d10c3b2709
Don't warn about 2>&1 > foo if piping or capturing.
2015-06-14 15:39:44 -07:00
Vidar Holen
8b8b48ef55
Make quoted tilde message suggest $HOME instead.
2015-06-14 10:24:40 -07:00
Vidar Holen
65ab8c8ecb
Account for brace expansion in SC2115 (catastrophic rm).
2015-06-07 13:02:49 -07:00
Vidar Holen
3a041954d1
Don't warn about a&&b||c if c == printf
2015-05-24 12:41:54 -07:00
Vidar Holen
828378cdff
Warn about injecting filenames into sh -c strings with find.
2015-05-23 13:03:07 -07:00
Vidar Holen
509cda4dcf
Count mapfile/readarray as variable assignment
2015-05-10 13:13:42 -07:00
Vidar Holen
6076f0b1da
Parse variables and subexpressions in brace expansions
2015-05-10 12:49:50 -07:00
Vidar Holen
1d26c280d6
Warn when failing to quote here strings.
2015-05-09 12:12:11 -07:00
Vidar Holen
c785d43e34
Fixed unquoted $@ warning message.
2015-05-09 12:07:33 -07:00
Vidar Holen
4c3e731445
Don't warn about a/b*c for ksh or when b == c
2015-05-09 11:48:08 -07:00
Vidar Holen
3940462da3
Warn about glob matching in [[ ]] for != as well as ==.
2015-05-09 11:34:34 -07:00