Vidar Holen
|
76c5af2973
|
Parser support for $[..], plus deprecation warning.
|
2013-07-05 09:42:08 -07:00 |
Vidar Holen
|
fc4a6043d7
|
Reformatted ugly AST definition
|
2013-07-05 09:24:22 -07:00 |
Vidar Holen
|
a20a3499ed
|
Improved bad indirection detection
|
2013-07-05 09:15:08 -07:00 |
Vidar Holen
|
73c6202842
|
Fixed misplaced uuoc for 'cat foo' outside pipe.
|
2013-07-04 14:27:03 -07:00 |
Vidar Holen
|
10b5e44ad0
|
Improved help for missing here doc terminator.
|
2013-07-04 14:19:54 -07:00 |
Vidar Holen
|
66cebe7c7b
|
Don't warn about quoting when $var is the command name.
|
2013-07-04 13:49:00 -07:00 |
Vidar Holen
|
af4d24c6f6
|
Check for 'echo "\n"'.
|
2013-07-04 13:42:31 -07:00 |
Vidar Holen
|
fc3045232f
|
Don't warn about f=/dev/null in 'foo $f > $f'
|
2013-07-04 13:18:46 -07:00 |
Vidar Holen
|
dbd4ff109c
|
Mention second level structure being parsed when error.
|
2013-07-04 13:07:27 -07:00 |
Vidar Holen
|
d2c5802a9d
|
Fixed UUOC warning for 'cat * | ..'.
|
2013-07-04 12:26:59 -07:00 |
Vidar Holen
|
ab20747ef2
|
Removed warning for ~ in the middle of strings. Too common.
|
2013-07-04 12:01:34 -07:00 |
Vidar Holen
|
9e84ff66f7
|
Warn about $() but not quotes in 'if $(cmd); ..'
|
2013-07-04 11:44:36 -07:00 |
Vidar Holen
|
b060370b92
|
Added and improved parse warnings for missing spaces.
|
2013-07-03 16:37:58 -07:00 |
Vidar Holen
|
f557ac3324
|
Added check for 'exec foo; cmd'
|
2013-07-02 22:37:33 -07:00 |
Vidar Holen
|
5d46c8a53f
|
Added check for functions used with sudo/xargs/etc
|
2013-07-02 21:35:17 -07:00 |
Vidar Holen
|
99be2736a1
|
Doubled speed by applying all checks in one iteration.
|
2013-07-02 20:29:07 -07:00 |
Vidar Holen
|
6aafc86a67
|
Added check for './ file'. Apparently people do that.
|
2013-07-02 20:09:01 -07:00 |
Vidar Holen
|
9cfa25cb56
|
Added check for ~ in quotes
|
2013-07-02 19:52:09 -07:00 |
Vidar Holen
|
499f7c8733
|
Warn for possible bad quote nesting like 'echo 'foo''
|
2013-07-01 10:01:58 -07:00 |
Vidar Holen
|
651bab73de
|
Fixed crash for ''foo due to unsafe 'last'
|
2013-07-01 09:14:33 -07:00 |
Vidar Holen
|
652f8a24fa
|
Added most checks from 'checkbashisms'. Thanks to Braakman, Rodin and Gilbey!
|
2013-06-30 12:13:18 -07:00 |
Vidar Holen
|
f820298b6e
|
Added recursive parsing support for `..`
|
2013-06-26 21:04:39 -07:00 |
Vidar Holen
|
25ee7e20f4
|
Added awkward check for PS1 escapes outside \[..\]
|
2013-06-25 20:59:54 -07:00 |
Vidar Holen
|
438c4ec572
|
Fixed up warnings for \r, and added warnings for
|
2013-06-21 01:22:11 -07:00 |
Vidar Holen
|
5794f3d390
|
Fixed parsing of "test$"
|
2013-06-21 00:33:20 -07:00 |
Vidar Holen
|
092073d0b3
|
Fixed parsing for case foo \n in ..
|
2013-06-20 23:57:08 -07:00 |
Vidar Holen
|
51cd951baa
|
Added warnings for sudo cmd > file
|
2013-06-18 20:08:56 -07:00 |
Vidar Holen
|
3b246f94a3
|
Fixed parsing for cmd &> file
|
2013-06-18 20:08:33 -07:00 |
Vidar Holen
|
564e3c5413
|
Don't start comments for #s in the middle of words. Thanks Mitch!
|
2013-06-07 18:32:59 -07:00 |
Vidar Holen
|
103b037921
|
Fixed parsing for [] in =~ regex
|
2013-05-31 14:22:13 -07:00 |
Vidar Holen
|
1b8b3b84d0
|
Fixed broken test for for f in "*.mp3"; do ..
|
2013-05-29 21:05:15 -07:00 |
Vidar Holen
|
1dbbc51f86
|
Improved regex parsing. To think [[ f =~ f( ]] )* ]] is valid..
|
2013-05-28 21:32:15 -07:00 |
Vidar Holen
|
6b89f33d0c
|
Warn about arg='--foo="bar"'; cmd $arg
|
2013-05-28 20:06:20 -07:00 |
Vidar Holen
|
b279411d70
|
Rewrote variable tracking code for future expansion
|
2013-05-27 20:54:03 -07:00 |
Vidar Holen
|
fc1af1b918
|
Also check for overridden time parameters for /bin/sh
|
2013-05-25 22:43:17 -07:00 |
Vidar Holen
|
17cf796486
|
Different checks per shell, and increased bashism detection.
|
2013-05-25 22:33:21 -07:00 |
Vidar Holen
|
cf67bf2294
|
Added check for 'time --format' and such, which Bash swallows.
|
2013-05-23 22:28:12 -07:00 |
Vidar Holen
|
e8a0fe09bf
|
Added error for ${foo$n}
|
2013-05-23 21:47:25 -07:00 |
Vidar Holen
|
7ae5351de3
|
Added warning for foo$n=42
|
2013-05-23 21:31:29 -07:00 |
Vidar Holen
|
034cfee66e
|
Fixed glob parsing for [[:class:]] and [~.:]. Thanks to dualbus!
|
2013-05-23 20:44:28 -07:00 |
Vidar Holen
|
13d4ea6540
|
Don't complaing about lack of quotes for 'local' and 'declare'
|
2013-05-20 11:58:08 -07:00 |
Vidar Holen
|
92d0ae8b6b
|
Allow [ foo \> bar ], while warning for [[ .. \> .. ]] and [ 1 \< 2 ]
|
2013-05-14 15:59:58 -07:00 |
Vidar Holen
|
10d4abf235
|
Warn for test n > 4
|
2013-05-14 15:23:28 -07:00 |
Vidar Holen
|
ce0b313b93
|
Better messages for ignored backslashes like 'echo foo\n'
|
2013-05-13 09:15:45 -07:00 |
Vidar Holen
|
2f21ced552
|
Warn for subshell modifications using 'let'
|
2013-05-02 12:38:47 -07:00 |
Vidar Holen
|
82b16b4076
|
Warn for [[ $foo > 3.14 ]]
|
2013-03-22 17:10:30 -07:00 |
Vidar Holen
|
6abb5fe72b
|
Quick hack to read and discard array indexing in arithmetic contexts
|
2013-03-22 16:42:40 -07:00 |
Vidar Holen
|
9f244edae3
|
Warn on "grep foo*.jpg" and "grep *foo*"
|
2013-03-01 17:28:41 -08:00 |
Vidar Holen
|
d2e2d06978
|
Add check for [[ "foo" ]]
|
2013-02-14 19:43:43 -08:00 |
Vidar Holen
|
585529a636
|
Return list of notes rather than a Map -> Map
|
2013-02-11 19:26:40 -08:00 |
Vidar Holen
|
05cb806642
|
Also warn for '$((foo)) $(cmd) ${foo}', not just '$foo'
|
2013-02-07 17:53:47 -08:00 |
Vidar Holen
|
795af72cf7
|
Fixed warning for ${#@}
|
2013-02-06 22:35:24 -08:00 |
Vidar Holen
|
899d9eb445
|
Warn against open parenthesis in normal words
|
2013-02-05 20:35:39 -08:00 |
Vidar Holen
|
84f87002b7
|
Split up numerical and legal binary op function
|
2013-02-05 20:15:13 -08:00 |
Vidar Holen
|
e64698dc78
|
Improved empty then/elif/else clause errors
|
2013-01-26 17:21:34 -08:00 |
Vidar Holen
|
dd115a6d35
|
Warn on trap "echo $num" USR1
|
2013-01-25 20:32:25 -08:00 |
Vidar Holen
|
f6f05234bf
|
Warn on for f in 1,2,3 and for f in ls;
|
2013-01-25 20:15:42 -08:00 |
Vidar Holen
|
0d3dded238
|
Check if =~ is applied to something that looks like a glob
|
2013-01-25 20:06:18 -08:00 |
Vidar Holen
|
0c66cfb936
|
Add warnings for empty then clauses
|
2013-01-23 17:15:55 -08:00 |
Vidar Holen
|
844a07afa0
|
Added warning for empty do clauses
|
2013-01-23 17:12:05 -08:00 |
Vidar Holen
|
389d5588d8
|
Make [[ foo=bar ]] check say 'operator' instead of '=', because !=
|
2013-01-22 14:50:30 -08:00 |
Vidar Holen
|
7c18ecee4f
|
Parse single/double quoted literals in arithmetic context
|
2013-01-14 21:52:09 -08:00 |
Vidar Holen
|
b517ad9e19
|
select loops and bases in arithmetic contexts
|
2012-12-31 18:48:57 -08:00 |
Vidar Holen
|
059ef63b44
|
Don't warn for awk '$1'
|
2012-12-12 18:27:57 -08:00 |
Vidar Holen
|
1d7c6f68b4
|
Fixed bad for f in $(ls *.mp3) after T_Glob
|
2012-12-06 23:43:19 -08:00 |
Vidar Holen
|
bb6c155341
|
{1..$n} is only a problem in Bash
|
2012-12-05 09:53:16 -08:00 |
Vidar Holen
|
6d2e739e09
|
Hacked in place warnings for if [[ 1 ]] then :; fi
|
2012-12-02 23:47:17 -08:00 |
Vidar Holen
|
6e263e6b76
|
Parsing support for array indices in assignments.
|
2012-12-02 21:29:03 -08:00 |
Vidar Holen
|
b765ed1a44
|
Removed superfluous messages for [ cow]
|
2012-12-02 20:40:01 -08:00 |
Vidar Holen
|
1fb3380e68
|
Added warning for find . -execdir rm *.jpg \;
|
2012-12-02 18:10:00 -08:00 |
Vidar Holen
|
6402f7f4a3
|
Fixed space warning for foo=$(echo $foo)
|
2012-12-02 17:19:44 -08:00 |
Vidar Holen
|
d3a4c9852f
|
Read any -* as binary/unary op, and warn on unknown.
|
2012-12-02 14:50:31 -08:00 |
Vidar Holen
|
35b8d58c3e
|
Fixed warning for [[ greplol ]]
|
2012-12-02 14:15:50 -08:00 |
Vidar Holen
|
55a4c3c44f
|
Added check for bashisms with #!/bin/sh
|
2012-12-02 14:08:50 -08:00 |
Vidar Holen
|
1a4301ea98
|
Added check for "#!/usr/bin/env bash -x"
|
2012-12-02 12:40:46 -08:00 |
Vidar Holen
|
3c2d9557e0
|
Parse the shebang separately
|
2012-12-02 12:02:29 -08:00 |
Vidar Holen
|
8c1ab0c9b6
|
Fixed warning for tr abc '[d*]'
|
2012-12-01 13:19:40 -08:00 |
Vidar Holen
|
b144700ae0
|
Support for arithmetic for loops.
|
2012-12-01 12:56:35 -08:00 |
Vidar Holen
|
ff85c67c29
|
Fixed mistaked message for tr '[:upper:]'
|
2012-11-30 16:13:42 -08:00 |
Vidar Holen
|
a73d898bd8
|
Added warning for { if :; then :; fi > cow }
|
2012-11-30 15:16:20 -08:00 |
Vidar Holen
|
34259f16db
|
Fixed message for (($1))
|
2012-11-30 14:32:20 -08:00 |
Vidar Holen
|
24f91ae711
|
Revert "Added warning for fi }, and not for ) }"
This reverts commit ea4176691d .
I must have had some crack for breakfast.
|
2012-11-30 10:24:35 -08:00 |
Vidar Holen
|
ea4176691d
|
Added warning for fi }, and not for ) }
|
2012-11-30 09:25:49 -08:00 |
Vidar Holen
|
f7be39cb5f
|
Added better malformed parsing messages
|
2012-11-29 22:26:45 -08:00 |
Vidar Holen
|
1e3b429abe
|
Check for tr hello world
|
2012-11-29 20:11:47 -08:00 |
Vidar Holen
|
b718e5f108
|
Parser help with globs, fixed message for grep foo\*
|
2012-11-29 19:20:44 -08:00 |
Vidar Holen
|
1bc6086aec
|
Added check for find / -exec foo && bar \;
|
2012-11-28 22:21:58 -08:00 |
Vidar Holen
|
3308ac9173
|
Warning for dirname/basename
|
2012-11-28 21:06:58 -08:00 |
Vidar Holen
|
089537afed
|
Added parsing support for $'..', which also fixed bug in `\``
|
2012-11-28 20:56:27 -08:00 |
Vidar Holen
|
beafb9284a
|
Added support for process substitution
|
2012-11-28 20:39:27 -08:00 |
Vidar Holen
|
8cf899300d
|
Added error for cat << (foo)
|
2012-11-28 19:21:11 -08:00 |
Vidar Holen
|
5d408875f1
|
Added [[ op -v and -R
|
2012-11-28 14:44:51 -08:00 |
Vidar Holen
|
7d7624252b
|
Added check for for f in $(cat foo)
|
2012-11-28 11:38:54 -08:00 |
Vidar Holen
|
3b1ec7f84e
|
Check for [[ $foo =~ '.*' ]]
|
2012-11-28 00:16:08 -08:00 |
Vidar Holen
|
01d3e5e858
|
Fixed unquoted error for [ ! $(foo) ]
|
2012-11-27 23:59:08 -08:00 |
Vidar Holen
|
b2c1c103c1
|
Added check for $(expr 3 + 2)
|
2012-11-27 23:55:08 -08:00 |
Vidar Holen
|
55ea991da7
|
Misspelled 'deprecated'
|
2012-11-27 23:42:50 -08:00 |
Vidar Holen
|
8db22b02e1
|
Added check for while $((n>3)); do ..
|
2012-11-27 23:38:44 -08:00 |
Vidar Holen
|
396541f3c2
|
Stop treating backticks as literals.
|
2012-11-27 23:11:59 -08:00 |
Vidar Holen
|
0cbbee7b89
|
Added slightly better ${..} parsing
|
2012-11-27 23:05:39 -08:00 |