Vidar Holen
5099ebf9b9
Allow comments after shellcheck directives.
2017-05-21 13:56:22 -07:00
mr.Shu
5e4c288cf4
SC2174: Do not warn at `mkdir -pm 0700 ../foo`
...
* Do not warn when `mkdir -pm 0700` is used with combination of paths
like `..` and `.`
* Fixes #854
Signed-off-by: mr.Shu <mr@shu.io>
2017-05-16 11:45:04 -07:00
mr.Shu
9e35aa7ce8
SC2164: Make SC2164 apply to `pushd` and `popd`
...
* Since `pushd` and `popd` have the same failure cases, make the check
for SC2164 apply to them as well.
* This commit also refactors the code a bit as `hasSetE` is now used in
multiple places.
* Fixes #863 .
Signed-off-by: mr.Shu <mr@shu.io>
2017-05-14 14:00:10 +02:00
Vidar Holen
324aa3cc88
Improve and deduplicate string comparison warnings.
2017-04-22 21:09:42 -07:00
Vidar Holen
3cf8b9ceab
Parse ksh nested arrays and warn about var=((
2017-04-17 21:01:16 -07:00
Vidar Holen
5c01b6c7f5
Parse empty [ ] conditionals
2017-04-16 18:11:00 -07:00
Vidar Holen
7604e5eb58
Warn when using a glob as a command name.
2017-04-15 19:53:09 -07:00
Vidar Holen
4fb1080809
Warn when redirecting to a literal integer.
2017-04-15 17:20:33 -07:00
Vidar Holen
4f9a80db15
Remove leftover debug trace
2017-04-15 13:44:01 -07:00
Vidar Holen
fd79e80e78
Fix SC2120 triggering on sourced files and ${!var*}
2017-04-15 11:26:47 -07:00
Vidar Holen
1fd9b474ba
Don't warn about quoting variables in [ -v 'bar[$foo]' ]
2017-04-15 10:57:10 -07:00
Vidar Holen
faafc99704
Don't trigger SC2037 when quoting (PAGER="cat" foo)
2017-04-15 10:33:56 -07:00
Vidar Holen
bc882fd85a
Recognize more invalid shebangs
2017-04-08 16:34:00 -07:00
Vidar Holen
41b6e3d5eb
Don't warn about [ -v foo ] being unassigned.
2017-04-08 15:19:47 -07:00
Vidar Holen
da1691912b
Replace _otherwise with _ in cases
2017-04-08 14:00:52 -07:00
Vaibhav Sagar
0feb95b337
Implement fixes suggested by HLint
2017-04-08 11:07:32 -07:00
Vidar Holen
f0e0d9ffdb
Don't suggest \[\] in PS1 for non-bash
2017-04-02 14:50:15 -07:00
Vidar Holen
3c75674b50
Warn about unquoted expansions in arrays.
2017-04-02 14:28:12 -07:00
Vidar Holen
8e5e77ad76
Don't suggest removing $ for (( $! + ${!var} ))
2017-04-02 09:49:47 -07:00
Vidar Holen
66c7cf19e2
Fix missing backslash in SC1003 about '\''
2017-04-01 22:01:05 -07:00
Vidar Holen
e28e90133d
Add missing import
2017-03-18 16:42:17 -07:00
Vidar Holen
2688a81526
Don't suggest indirection for 'declare var$n=foo'
2017-03-18 14:54:52 -07:00
Vidar Holen
82c3084438
Add HandBrakeCLI to list of stdin swallowing apps
2017-03-18 13:10:54 -07:00
Vidar Holen
750212af39
Add less common actions to find -o check.
2017-03-03 20:43:00 -08:00
Vidar Holen
2154583fd3
Don't parse unicode quotes as real quotes.
2017-02-25 15:14:52 -08:00
Vidar Holen
35c74e4747
Getting command name from busybox now gets applet name
2017-02-12 10:56:29 -08:00
Vidar Holen
128d5d6013
Don't warn about grep pattern issues when using -F.
2017-01-21 16:20:55 -08:00
koalaman
41176c23a6
Merge pull request #822 from bittorf/master
...
SC2164: show two possible variants for circumenting the warning
2017-01-15 15:58:19 -08:00
Vidar Holen
1863f2f12d
Warn about += bashism in sh and dash.
2017-01-14 12:40:09 -08:00
Vidar Holen
8809a36952
Warn when finding HTML entities like &
2017-01-14 11:59:31 -08:00
Vidar Holen
7f307c5775
Count | as a regex metacharacter for 2076.
2017-01-12 19:02:46 -08:00
Bastian Bittorf
4e13c7cbc1
SC2164: show two possible variants for circumenting the warning
...
always calling 'exit' is not good in e.g. functions.
the basic idea is at least that the returncode of
cd *is* evaluated somehow and not ignored.
Reported-by: Garance Alistair Drosehn <drosehn@rpi.edu>
Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>
2017-01-10 12:30:47 +01:00
Vidar Holen
edb01fa855
Warn about ( -d foo ) and similar.
2017-01-09 23:49:22 -08:00
Ekaterina Efimova
43f667a8f9
Update Analytics.hs
2017-01-03 21:48:35 +03:00
Ekaterina Efimova
daacc98a8f
Update Analytics.hs
2017-01-03 21:40:32 +03:00
Scorpiokat
40907b1636
This commit fixes #803
2017-01-03 14:55:12 +00:00
Scorpiokat
96168fc707
This commit fixes #797
2017-01-02 18:01:24 +00:00
Vidar Holen
6aee12a572
Warnings for braces/globs/arrays in [/[[.
2016-12-31 13:18:36 -08:00
Vidar Holen
e679ff222a
Warn when using deprecated egrep/fgrep.
2016-12-30 16:55:31 -08:00
Vidar Holen
30e94ea7ab
Warn about comparisons and cases that can never match.
2016-12-29 14:04:49 -08:00
Vidar Holen
d8f8a2fa14
Minor 2% parser speedup
2016-12-29 10:56:00 -08:00
Vidar Holen
df3cc70658
Improve code for warning about escaped single quotes.
2016-12-28 21:51:28 -08:00
Vidar Holen
5669702362
Warn about missing and invalid subscripts in array assignments.
2016-12-28 18:58:03 -08:00
Vidar Holen
bd9d05c759
Warn about missing space in [ foo= bar ]
2016-12-27 21:20:59 -08:00
Austin English
af87fe9315
add missing references to dash
2016-12-20 17:10:55 -08:00
Vidar Holen
7124c113e8
Don't warn about .sh.version being unused (for Ksh)
2016-12-17 16:03:06 -08:00
Vidar Holen
f594f01d35
Add warnings about redirections without commands.
2016-12-17 15:03:52 -08:00
Vidar Holen
6ccb7e9129
Fix 'for file; do ..' counting $file as a safe variable.
2016-12-17 12:55:14 -08:00
Vidar Holen
838f0ce4dc
Count "%(%Y%m%d)T" as a single format in printf.
2016-12-17 12:48:09 -08:00
Vidar Holen
105b09792c
Fix SC095 about < /dev/null when using ssh -n
2016-12-17 12:41:00 -08:00
Vidar Holen
f6618d4332
Fix BSD style flag parsing to stop at --
2016-12-11 10:58:01 -08:00
Vidar Holen
0a381be37b
Improve heredoc delimiter handling.
2016-12-11 10:09:13 -08:00
Vidar Holen
46e47dad45
Don't quote source in 2041 and 2043.
2016-12-10 22:41:25 -08:00
Vidar Holen
fee6c94d40
Alias ash to dash with warning.
2016-12-10 10:57:01 -08:00
Vidar Holen
cf1c46d852
Add deprecation warning for tempfile
2016-12-10 09:58:27 -08:00
Vidar Holen
a40efffec9
Explicitly import Data.Monoid
2016-12-10 08:49:07 -08:00
Vidar Holen
b4fb439191
Save string read by T_ParamSubSpecialChar
2016-12-03 10:19:14 -08:00
MortimerMcMire315
0897ab7092
Add handling for special characters in parameter substitutions.
...
Fixes koalaman/shellcheck#562 . Special characters inside braces are
parsed into T_ParamSubSpecialChar instead of T_Literal so that they are
not flagged in the function checkInexplicablyUnquoted when sandwiched
between double quotes.
2016-11-28 16:06:02 -05:00
Vidar Holen
f26038125d
Allow spaces/comments before filewide annotations.
2016-11-20 18:06:36 -08:00
Vidar Holen
08f7ff37c5
Some cleanup and refactoring.
2016-11-12 15:51:36 -08:00
Vidar Holen
619b6c42f3
Improve parsing of fd close/duplicate redirections.
2016-10-21 11:31:58 -07:00
Vidar Holen
88c56ecd53
Allow unrecognized directives with warnings.
2016-10-14 12:14:20 -07:00
Vidar Holen
6b62b5bf7e
Don't warn about [ a '>' b ] needing escapes.
2016-10-01 14:54:28 -07:00
Vidar Holen
8672af29ef
Split duplicate SC1009 into SC1014 for if [ grep foo bar ]
2016-10-01 13:34:14 -07:00
Vidar Holen
1a8e34bfea
Don't suggest grep -c when used with -o
2016-10-01 13:26:53 -07:00
Vidar Holen
b0dae063bf
Add info when using 'find' without path
2016-09-25 11:56:32 -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
868d53af95
Warn about passing globs to `unset`.
2016-09-24 14:49:52 -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
87481dce25
Warn about printf hello world and printf "%s %s" foo
2016-09-06 21:16:59 -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
36263fb3f5
s/range/class/ when warning about tr '[abc]'
2016-07-05 08:51:40 -07:00
Vidar Holen
6dc419bbf5
Improve warning for 'else if'.
2016-07-02 15:40:29 -07:00
Vidar Holen
7af3470a91
Improve parser errors when reparsing array indices.
2016-07-01 22:06:50 -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
e3bef9dc97
Warn about (( 1 -lt 2 ))
2016-07-01 20:33:07 -07:00
Vidar Holen
6c1abb2dee
Performance: make readDollarExpr fail early if no $
2016-06-30 10:01:03 -07:00
Vidar Holen
43c26061b9
Improve parsing for ambiguous $((foo) ) and ((foo) ).
2016-06-26 22:13:48 -07:00
Vidar Holen
07fd5724b8
Recognize declare -A statements when value is inlined.
2016-06-26 14:57:52 -07:00
Vidar Holen
eb2472ada8
Merge branch 'master' of github.com:koalaman/shellcheck
2016-06-26 14:40:43 -07:00
Vidar Holen
3e5ecaa262
Parse indices of associative arrays properly
2016-06-26 14:39:49 -07:00
Russell Harmon
eaa319ec57
Emit the end line in the JSON.
...
This handles the case where the end line is not on the same line as the
start line when using the new end column feature.
2016-06-18 15:06:28 -07:00
Russell Harmon
7f5f5b7fb5
Make SC1035 emit a proper end column
...
Example JSON output:
```
$ shellcheck -s bash -f json /dev/stdin <<< "[[0 -eq 1 ]]"
[{"file":"/tmp/zshNCNwPz","line":1,"column":1,"endColumn":3,"level":"error","code":1035,"message":"You need a space after the [[ and before the ]]."}]
```
2016-06-18 14:59:47 -07:00
Russell Harmon
856d57f7d8
PositionedComment and ParseNote contains end cols.
...
This change makes PositionedComment and ParseNote contain end columns.
It additionally modifies the JSON formatter to show the end column in an
"endColumn" property. No modifications to the messages shown by any
other formatter have been made.
Currently, all checks set the end column to the start column. It should
now be possible however to start setting the end column in the parser.
Additional work is needed to set the end column during AST analysis.
2016-06-18 14:58:00 -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
2f0ae44de4
Fix parsing of here documents
2016-04-16 19:14:02 -07:00
Vidar Holen
f835c2d4c1
Fix handling of spaces in shebangs.
2016-04-16 09:42:07 -07:00