Commit Graph

349 Commits

Author SHA1 Message Date
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
Vidar Holen bb7ef5834b Warn on unindexed references for implicit arrays. 2015-04-21 19:19:15 -07:00
Vidar Holen 081751c1b5 Fixed case sensitivity in 'trap' bashism test 2015-04-05 10:33:54 -07:00
Vidar Holen cc86aab3f1 Added multiple new checks from checkbashisms 2015-04-05 10:25:00 -07:00
Vidar Holen 9f1f00cdd1 Switch from regex-compat to regex-tdfa 2015-04-04 16:26:28 -07:00
Vidar Holen 47b971c582 Declared FlexibleContexts for GHC 7.10 2015-03-31 21:59:03 -07:00
Vidar Holen ed56a837c3 Killed Zsh support 2015-03-20 10:03:56 -07:00
Vidar Holen 80cf5d9852 Include [] as glob chars to warn about quoting for 2015-03-19 18:29:47 -07:00
Vidar Holen 8e554ae3d4 Fix SC2143 to not warn about pgrep and other quasi-greps. 2015-03-12 08:31:49 -07:00
Vidar Holen 0e1a64b6ba Warn about export/declare/local masking return values. 2015-03-08 14:17:43 -07:00
Vidar Holen 0a2cf208c8 Fixed quoted ~ warning to only trigger for ~/ 2015-03-07 23:48:01 -08:00
Vidar Holen dcc10bbdf6 Fixed accidentally ignored undef warning for ${#foo} 2015-03-07 23:01:34 -08:00
Vidar Holen 2c2e41952f Improved missing shebang message. 2015-03-07 22:37:49 -08:00
Vidar Holen 0d74140650 Multiple wrong assignment warning fixes 2015-03-07 20:15:04 -08:00
Vidar Holen 955ad60823 Fixed parser errors not being excluded by -e 2015-03-01 13:44:57 -08:00
Vidar Holen 2573332d77 Fixed edge cases for braced reference extractor. 2015-03-01 13:44:18 -08:00
Vidar Holen 00c470f323 Improve SC2143 error message 2015-03-01 12:20:37 -08:00
Vidar Holen 63188282e9 Add warning for vars that are referenced but not assigned. 2015-02-28 18:43:22 -08:00
Vidar Holen 61b4b65184 Warn about obviously bad return values, like -1 or "foo" 2015-02-14 12:03:38 -08:00
Vidar Holen 39b2bf4378 Don't warn about modifying $@ or $IFS in a subshell 2015-02-14 10:43:49 -08:00
Vidar Holen 2fe117728d Count [[ -v foo ]] (and -R) as a variable reference 2015-02-13 20:10:18 -08:00
Vidar Holen 33c78b7c95 Track variables created through coproc. 2015-01-27 10:11:17 -08:00
Vidar Holen a485482979 Add support for coproc 2015-01-26 22:21:04 -08:00
Vidar Holen 895d83afc5 s/deprecated/legacy/ for backtick warnings. 2015-01-25 12:27:49 -08:00
Vidar Holen 39bc011757 Rewrote catastrophic rm detection, now simpler and more robust. 2015-01-25 12:18:06 -08:00
Vidar Holen c9aa133282 Fix pattern matching error in z=$(echo) 2015-01-02 18:06:10 -08:00
Vidar Holen 7b70500d41 Suppress SC2140 if the user just prefers quoting single items at a time. 2014-12-23 19:47:55 -08:00
Vidar Holen 8bed447411 Warn when trying to find -exec "shell command" \; 2014-11-22 12:16:30 -08:00
Vidar Holen 22710bf4d8 Fixed $! counting as a positional parameter reference. 2014-11-22 11:21:54 -08:00
Vidar Holen a354685ab1 Warn about redirecting to globs in sh 2014-11-22 10:50:38 -08:00
Veres Lajos 97f3834852 typo fixes - https://github.com/vlajos/misspell_fixer 2014-11-04 21:55:42 +00:00
Vidar Holen 0369f43bac Fixed 2148 to not trigger if a shell is specified with `-s`. 2014-11-01 13:51:19 -07:00
Vidar Holen eb2eae2888 Don't warn about ${args[@]} when nested in other ${} 2014-11-01 12:44:27 -07:00
Vidar Holen 30c0c1f27d Allow export "foo"="bar" in 2140 2014-11-01 12:20:10 -07:00
Vidar Holen bff5d11566 Warn about `` in '' 2014-11-01 12:17:12 -07:00
Vidar Holen eccb9f3f71 Added -or and -print0 to SC2146 2014-11-01 12:07:09 -07:00
Vidar Holen 2814572116 cat "$@" is not UUOC 2014-10-18 19:59:13 -07:00
Vidar Holen 90bafb9aba Fixed bug where (($b)) counted as a positional reference 2014-10-18 19:51:13 -07:00
Vidar Holen 39805ab200 Don't warn about unpassed parameters in functions using 'set ..'. 2014-10-12 17:10:46 -07:00
Vidar Holen 1a0e208cc3 Consider find -exec when warning about vars in single quotes. 2014-10-12 14:00:17 -07:00
Vidar Holen b05c12223f Don't trigger SC2004 for (( $$ )) 2014-09-23 10:27:26 -07:00
Vidar Holen 38ead0385b Fixed quoting warnings for variables in $".." 2014-09-23 10:18:28 -07:00
Vidar Holen 40ce949a56 Only warn once per unused variable name. 2014-09-07 12:55:08 -07:00
Vidar Holen 9f3802138f Prevent overlap of 2116 and 2005 in foo $(echo $(bar)) 2014-09-04 08:41:09 -07:00
Vidar Holen 2f3533fff6 Improve warnings for $ in (()). Also improves array subscripts. 2014-08-16 17:08:57 -07:00
Vidar Holen f9c346cfd7 Ignore SC2033 when passing quoted function names. 2014-08-16 10:45:46 -07:00
Vidar Holen 8494509150 Warn about missing shebangs. 2014-08-09 17:32:42 -07:00
Vidar Holen dbadca9f61 Check PS1/PROMPT_COMMAND/trap for simple variable references 2014-07-27 09:51:48 -07:00
Vidar Holen 0347ce1b7a Warn about quoted ~ in PATH 2014-07-26 13:14:28 -07:00
Vidar Holen 7fbe66e1c6 Warn about ineffectual quotes in a="/foo/'bar baz'"; $a 2014-07-26 12:15:54 -07:00
Vidar Holen 64cc7c691a Warn about precedence in find -name -o -name -exec. 2014-06-22 14:16:24 -07:00
Vidar Holen b9784cbcc0 Parse let arguments as arithmetic expressions. 2014-06-22 13:23:44 -07:00
Vidar Holen 1a3f6aadaf Support indices in array declarations 2014-06-22 10:35:45 -07:00
Vidar Holen b035331d4a Fixed failing test 2014-06-10 00:33:54 -07:00
Vidar Holen aac7d76047 Don't warn when using find -print0 | xargs --null 2014-06-07 22:41:37 -07:00
Vidar Holen fc421adb45 Reworked arithmetics to allow composite terms 2014-06-07 22:09:34 -07:00
Vidar Holen 3a944de606 Warn when concatening strings and arrays. 2014-06-07 13:47:40 -07:00
Vidar Holen 3dd592a02a Support ;& and ;;& in case statements 2014-06-07 12:23:42 -07:00
Rodrigo Setti 5dac723593 Collection of HLint fixes
http://community.haskell.org/~ndm/hlint/
2014-05-31 22:20:49 +00:00
Vidar Holen 726a4e5848 Merge branch 'cabal-version' of https://github.com/rodrigosetti/shellcheck into rodrigosetti-cabal-version
Conflicts:
	ShellCheck/Analytics.hs
	ShellCheck/Data.hs
2014-05-31 09:55:07 -07:00
Rodrigo Setti 0a9ed917e7 Test Suite in Cabal (cabal test)
Please run using "cabal test --show-details=streaming", there's a known
issue about this that was fixed in the latest version of cabal:
https://github.com/haskell/cabal/issues/1810
2014-05-31 01:30:23 +00:00
Vidar Holen 133c779701 Also check nested ifs for ssh/ffmpeg in read loops 2014-05-29 20:55:38 -07:00
Vidar Holen d830a36bc8 Check for globs in test, e.g. [[ -e file* ]] 2014-05-25 12:04:18 -07:00
Vidar Holen 1af23fd131 Fix SC2051 to only warn about 1..$n and not 1,$n 2014-05-25 11:41:24 -07:00
Vidar Holen d21b3362b2 Don't warn about splitting in select statements 2014-05-17 12:06:04 -07:00
Vidar Holen 6cd454e88b Suggest grep -q instead of [ "$(.. | grep)" ] 2014-05-17 10:56:36 -07:00
Vidar Holen 0b5f6b9762 Warn about aliases referencing $1/$*/$@ 2014-05-17 09:26:53 -07:00
Vidar Holen 3824e9cfc2 Fixed not recognizing --f=* as option in checkGrepRe 2014-05-15 09:14:57 -07:00
Vidar Holen c4181d45d2 Warn about suspicious IFS, such as IFS="\n" 2014-05-10 15:37:02 -07:00
Vidar Holen e6d81ca7b7 Warn about using numerical test operators with strings 2014-05-10 12:37:02 -07:00
Vidar Holen deab146fab Don't warn about &&+|| when used with return 2014-05-09 18:08:55 -07:00
Vidar Holen f9aeabc245 Improved error messages for SC2044/SC2045 2014-05-08 19:38:40 -07:00
Vidar Holen 558d8ffc6c Warn about suspiciously unquoted literal parts like "var="value"" 2014-05-07 21:47:27 -07:00
Vidar Holen e96c4c3ffa Warn about aliases that expand at define time 2014-05-07 20:14:21 -07:00
Vidar Holen 033ce6d941 Allow zsh =(..) process substitution 2014-05-02 20:36:38 -07:00
Vidar Holen 6ad3f557fe Don't warn about sed '$s/foo/bar/' 2014-04-19 12:29:49 -07:00