Commit Graph

  • 3b246f94a3 Fixed parsing for cmd &> file Vidar Holen 2013-06-18 20:08:33 -07:00
  • f3c8ce3e3d Initial Cabal file Vidar Holen 2013-06-18 09:29:39 -07:00
  • 564e3c5413 Don't start comments for #s in the middle of words. Thanks Mitch! Vidar Holen 2013-06-07 18:32:59 -07:00
  • 103b037921 Fixed parsing for [] in =~ regex Vidar Holen 2013-05-31 14:22:13 -07:00
  • 1b8b3b84d0 Fixed broken test for for f in "*.mp3"; do .. Vidar Holen 2013-05-29 21:05:15 -07:00
  • 1dbbc51f86 Improved regex parsing. To think [[ f =~ f( ]] )* ]] is valid.. Vidar Holen 2013-05-28 21:32:15 -07:00
  • 6b89f33d0c Warn about arg='--foo="bar"'; cmd $arg Vidar Holen 2013-05-28 20:06:20 -07:00
  • b279411d70 Rewrote variable tracking code for future expansion Vidar Holen 2013-05-27 20:54:03 -07:00
  • fc1af1b918 Also check for overridden time parameters for /bin/sh Vidar Holen 2013-05-25 22:43:17 -07:00
  • 17cf796486 Different checks per shell, and increased bashism detection. Vidar Holen 2013-05-25 22:33:21 -07:00
  • cf67bf2294 Added check for 'time --format' and such, which Bash swallows. Vidar Holen 2013-05-23 22:28:12 -07:00
  • e8a0fe09bf Added error for ${foo$n} Vidar Holen 2013-05-23 21:47:25 -07:00
  • 7ae5351de3 Added warning for foo$n=42 Vidar Holen 2013-05-23 21:31:29 -07:00
  • 034cfee66e Fixed glob parsing for [[:class:]] and [~.:]. Thanks to dualbus! Vidar Holen 2013-05-23 20:44:28 -07:00
  • 13d4ea6540 Don't complaing about lack of quotes for 'local' and 'declare' Vidar Holen 2013-05-20 11:58:08 -07:00
  • 92d0ae8b6b Allow [ foo \> bar ], while warning for [[ .. \> .. ]] and [ 1 \< 2 ] Vidar Holen 2013-05-14 15:59:58 -07:00
  • 10d4abf235 Warn for test n > 4 Vidar Holen 2013-05-14 15:23:28 -07:00
  • ce0b313b93 Better messages for ignored backslashes like 'echo foo\n' Vidar Holen 2013-05-13 09:15:45 -07:00
  • 2f21ced552 Warn for subshell modifications using 'let' Vidar Holen 2013-05-02 12:38:47 -07:00
  • 82b16b4076 Warn for [[ $foo > 3.14 ]] Vidar Holen 2013-03-22 17:10:30 -07:00
  • 6abb5fe72b Quick hack to read and discard array indexing in arithmetic contexts Vidar Holen 2013-03-22 16:42:40 -07:00
  • 9f244edae3 Warn on "grep foo*.jpg" and "grep *foo*" Vidar Holen 2013-03-01 17:28:41 -08:00
  • d2e2d06978 Add check for [[ "foo" ]] Vidar Holen 2013-02-14 19:43:43 -08:00
  • 585529a636 Return list of notes rather than a Map -> Map Vidar Holen 2013-02-11 19:26:40 -08:00
  • 05cb806642 Also warn for '$((foo)) $(cmd) ${foo}', not just '$foo' Vidar Holen 2013-02-07 17:53:47 -08:00
  • 795af72cf7 Fixed warning for ${#@} Vidar Holen 2013-02-06 22:35:24 -08:00
  • 899d9eb445 Warn against open parenthesis in normal words Vidar Holen 2013-02-05 20:35:39 -08:00
  • 84f87002b7 Split up numerical and legal binary op function Vidar Holen 2013-02-05 20:15:13 -08:00
  • e64698dc78 Improved empty then/elif/else clause errors Vidar Holen 2013-01-26 17:21:34 -08:00
  • dd115a6d35 Warn on trap "echo $num" USR1 Vidar Holen 2013-01-25 20:32:25 -08:00
  • f6f05234bf Warn on for f in 1,2,3 and for f in ls; Vidar Holen 2013-01-25 20:15:42 -08:00
  • 0d3dded238 Check if =~ is applied to something that looks like a glob Vidar Holen 2013-01-25 20:06:18 -08:00
  • 02efc2e945 The test cases are fun, but not up to date. The unit tests are better. Vidar Holen 2013-01-23 17:18:18 -08:00
  • 0c66cfb936 Add warnings for empty then clauses Vidar Holen 2013-01-23 17:15:55 -08:00
  • 844a07afa0 Added warning for empty do clauses Vidar Holen 2013-01-23 17:12:05 -08:00
  • 389d5588d8 Make [[ foo=bar ]] check say 'operator' instead of '=', because != Vidar Holen 2013-01-22 14:50:30 -08:00
  • 7c18ecee4f Parse single/double quoted literals in arithmetic context Vidar Holen 2013-01-14 21:52:09 -08:00
  • b517ad9e19 select loops and bases in arithmetic contexts Vidar Holen 2012-12-31 18:48:57 -08:00
  • 059ef63b44 Don't warn for awk '$1' Vidar Holen 2012-12-12 18:27:57 -08:00
  • 1d7c6f68b4 Fixed bad for f in $(ls *.mp3) after T_Glob Vidar Holen 2012-12-06 23:43:19 -08:00
  • bb6c155341 {1..$n} is only a problem in Bash Vidar Holen 2012-12-05 09:53:16 -08:00
  • 6d2e739e09 Hacked in place warnings for if [[ 1 ]] then :; fi Vidar Holen 2012-12-02 23:47:17 -08:00
  • 6e263e6b76 Parsing support for array indices in assignments. Vidar Holen 2012-12-02 21:29:03 -08:00
  • b765ed1a44 Removed superfluous messages for [ cow] Vidar Holen 2012-12-02 20:40:01 -08:00
  • 1fb3380e68 Added warning for find . -execdir rm *.jpg \; Vidar Holen 2012-12-02 18:10:00 -08:00
  • 6402f7f4a3 Fixed space warning for foo=$(echo $foo) Vidar Holen 2012-12-02 17:19:44 -08:00
  • d3a4c9852f Read any -* as binary/unary op, and warn on unknown. Vidar Holen 2012-12-02 14:50:31 -08:00
  • 35b8d58c3e Fixed warning for [[ greplol ]] Vidar Holen 2012-12-02 14:15:50 -08:00
  • 55a4c3c44f Added check for bashisms with #!/bin/sh Vidar Holen 2012-12-02 14:08:50 -08:00
  • 1a4301ea98 Added check for "#!/usr/bin/env bash -x" Vidar Holen 2012-12-02 12:40:46 -08:00
  • 3c2d9557e0 Parse the shebang separately Vidar Holen 2012-12-02 12:02:29 -08:00
  • 8c1ab0c9b6 Fixed warning for tr abc '[d*]' Vidar Holen 2012-12-01 13:19:40 -08:00
  • b144700ae0 Support for arithmetic for loops. Vidar Holen 2012-12-01 12:56:35 -08:00
  • ff85c67c29 Fixed mistaked message for tr '[:upper:]' Vidar Holen 2012-11-30 16:13:42 -08:00
  • a73d898bd8 Added warning for { if :; then :; fi > cow } Vidar Holen 2012-11-30 15:16:20 -08:00
  • 34259f16db Fixed message for (($1)) Vidar Holen 2012-11-30 14:32:20 -08:00
  • 24f91ae711 Revert "Added warning for fi }, and not for ) }" Vidar Holen 2012-11-30 10:24:35 -08:00
  • ea4176691d Added warning for fi }, and not for ) } Vidar Holen 2012-11-30 09:25:49 -08:00
  • f7be39cb5f Added better malformed parsing messages Vidar Holen 2012-11-29 22:26:45 -08:00
  • c2b9c1ff2a Compile with -O9 Vidar Holen 2012-11-29 22:26:13 -08:00
  • 1e3b429abe Check for tr hello world Vidar Holen 2012-11-29 20:11:47 -08:00
  • b718e5f108 Parser help with globs, fixed message for grep foo\* Vidar Holen 2012-11-29 19:20:44 -08:00
  • 1bc6086aec Added check for find / -exec foo && bar \; Vidar Holen 2012-11-28 22:21:58 -08:00
  • 3308ac9173 Warning for dirname/basename Vidar Holen 2012-11-28 21:06:58 -08:00
  • 089537afed Added parsing support for $'..', which also fixed bug in \` Vidar Holen 2012-11-28 20:56:27 -08:00
  • beafb9284a Added support for process substitution Vidar Holen 2012-11-28 20:39:27 -08:00
  • 8cf899300d Added error for cat << (foo) Vidar Holen 2012-11-28 19:21:11 -08:00
  • 5d408875f1 Added [[ op -v and -R Vidar Holen 2012-11-28 14:44:51 -08:00
  • 7d7624252b Added check for for f in $(cat foo) Vidar Holen 2012-11-28 11:38:54 -08:00
  • 3b1ec7f84e Check for [[ $foo =~ '.*' ]] Vidar Holen 2012-11-28 00:16:08 -08:00
  • 01d3e5e858 Fixed unquoted error for [ ! $(foo) ] Vidar Holen 2012-11-27 23:59:08 -08:00
  • b2c1c103c1 Added check for $(expr 3 + 2) Vidar Holen 2012-11-27 23:55:08 -08:00
  • 55ea991da7 Misspelled 'deprecated' Vidar Holen 2012-11-27 23:42:50 -08:00
  • 8db22b02e1 Added check for while $((n>3)); do .. Vidar Holen 2012-11-27 23:38:44 -08:00
  • 396541f3c2 Stop treating backticks as literals. Vidar Holen 2012-11-27 23:11:59 -08:00
  • 0cbbee7b89 Added slightly better ${..} parsing Vidar Holen 2012-11-27 23:05:39 -08:00
  • 77a3e3b331 Fixed incorrectly calling [ -z $foo ] a tautology. Vidar Holen 2012-11-27 20:40:13 -08:00
  • 2b2ee0a897 Suggest IFS='' as style for assigning empty vars. Vidar Holen 2012-11-27 20:27:07 -08:00
  • e8a2ac09c7 Added check for grep foo* Vidar Holen 2012-11-27 20:26:41 -08:00
  • 96c8a01017 Added check for find / -name *.php Vidar Holen 2012-11-27 20:10:54 -08:00
  • e2a6ffbea4 Added check for 'foo(a,b) {', support 'function foo {' Vidar Holen 2012-11-27 19:45:32 -08:00
  • 807e56355d Punctuated message. Vidar Holen 2012-11-27 01:48:51 -08:00
  • bb7e844125 Added better message for missing ]/]] Vidar Holen 2012-11-27 01:28:42 -08:00
  • 100fff4835 Added grep | sed check like existing grep | awk. Vidar Holen 2012-11-27 01:21:14 -08:00
  • 1aeff4f955 Added more robust a=cat foo | grep bar checker Vidar Holen 2012-11-27 01:05:32 -08:00
  • adfdc0a627 Added check for a=ls -l Vidar Holen 2012-11-27 00:48:09 -08:00
  • a8715d2d5f Added check for A=foo | grep bar Vidar Holen 2012-11-27 00:41:10 -08:00
  • 0ca6d0f6cc Added extglobs as splitting words Vidar Holen 2012-11-27 00:32:00 -08:00
  • 131b9f0517 Added checks for tr a-z A-Z and [asdf] Vidar Holen 2012-11-27 00:28:47 -08:00
  • ba5bb488d1 Case statements are now rightfully unquotable contexts Vidar Holen 2012-11-27 00:11:23 -08:00
  • 2052adffef Even more robust then/fi/do/done feedback Vidar Holen 2012-11-27 00:08:24 -08:00
  • 8cf02e60af More robust fi/done mixup reporting Vidar Holen 2012-11-26 23:50:00 -08:00
  • 2ea4711ff4 Added check, for f in 'find /'; do .. Vidar Holen 2012-11-26 22:58:30 -08:00
  • ef332217a1 Check for if[ foo ] Vidar Holen 2012-11-26 22:49:23 -08:00
  • 34690ad3db Added more helpful message for 'if [ grep .. ]' Vidar Holen 2012-11-26 22:23:40 -08:00
  • 7025ebd633 Made unquoted $(..) check more robust Vidar Holen 2012-11-26 21:52:47 -08:00
  • 211c923f8b Replaced common commands from /bin to posix utility list Vidar Holen 2012-11-26 21:22:20 -08:00
  • 4a803d2e48 Removed trailing whitespace Vidar Holen 2012-11-26 20:43:19 -08:00
  • f4afb9a88f Added check for constant [[]] expression, e.g. [[ a == b ]] Vidar Holen 2012-11-26 20:42:10 -08:00
  • 648090af31 Added warnings for then/fi/do/done treated literally. Vidar Holen 2012-11-25 10:49:21 -08:00