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
Vidar Holen
d0bad6c057
Suggest grouping redirections when appending on 3+ lines
2014-04-19 11:53:54 -07:00
Vidar Holen
58c362f97c
Warn about foo=(bar baz); echo $foo
2014-04-19 10:20:24 -07:00
Vidar Holen
2c1e414ac5
Only get vars after the last option in read
2014-04-19 08:50:47 -07:00
Vidar Holen
0a263579e0
Support for zsh short form for loops and anonymous functions
2014-04-13 13:37:37 -07:00
Vidar Holen
d63406abe4
Prevent SC2101 to collide with 2060 for tr -d [:space:]
2014-04-12 16:43:57 -07:00
Vidar Holen
81956d324d
Don't warn when single quoting PROMPT_COMMAND and PS1
2014-04-05 17:08:03 -07:00
Vidar Holen
f549aad809
Suggest grep -c for grep|wc
2014-04-05 16:53:09 -07:00
Vidar Holen
f9f965693d
Don't warn about single quoting $0 for xprop
2014-04-05 16:32:59 -07:00
Vidar Holen
727d940e10
Don't warn about expr when using <, > and friends
2014-04-05 16:29:35 -07:00
Vidar Holen
c26c2b8536
Stop using generic char 'c' in 2022
2014-04-05 16:17:52 -07:00
Vidar Holen
d8878ed852
Fixed warnings when assigning arrays to scalars
2014-04-05 14:56:12 -07:00
Vidar Holen
c3cc5f649f
Fixed warning about \n in echo -n -e '\n'
2014-04-05 12:49:24 -07:00
Vidar Holen
f01e6e1a99
Check for accidentally overriding $PATH
2014-03-29 10:07:23 -07:00
Vidar Holen
0d4ae95e1d
Recognize declare -x as exporting variables
2014-03-22 10:43:56 -07:00
Vidar Holen
50db49e2fb
Rename Unquotable to QuoteFree
2014-03-22 10:27:59 -07:00
Vidar Holen
60aafae21d
Count array indexes as references, even without $
2014-03-22 10:22:34 -07:00
Vidar Holen
4f1fd43360
Don't suggest removing $ in (( 10#$n ))
2014-03-16 15:06:18 -07:00
Vidar Holen
ca5af5c55a
Don't warn about decimals in (( )) for zsh/ksh
2014-03-16 14:56:23 -07:00
Vidar Holen
2a9c9ae0ad
Warn about using <=/>=, and don't warn about -gt 1.2 in ksh/zsh
2014-03-16 14:51:46 -07:00
Vidar Holen
b68de7f42b
Don't warn about for s in "${!var}", it could be an array
2014-03-13 20:54:10 -07:00
Vidar Holen
7dacb62d36
Fixed determining shell for shebangs with flags
2014-03-09 17:24:05 -07:00
Vidar Holen
3423cde931
Check attempts to set variables with 'set'
2014-03-01 16:52:53 -08:00
Vidar Holen
b2d1aa01f7
Don't warn about commas when quoted in a=("a,b")
2014-03-01 15:30:51 -08:00
Vidar Holen
19e1bdf11f
Warn about array assignments for /bin/sh
2014-03-01 15:16:31 -08:00
Vidar Holen
75d51087c8
Warn about functions using parameters that are never passed
2014-03-01 14:42:00 -08:00
Vidar Holen
ed524fb77f
Don't warn about decimals when comparing with =
2014-03-01 10:24:22 -08:00
Vidar Holen
97045c4af1
Fixed x[0] not recognized as reference of x in arithmetics
2014-03-01 10:14:17 -08:00
Vidar Holen
632c1614a1
Added support for |&
2014-03-01 10:05:43 -08:00
Vidar Holen
bf3c942294
Warn about using 'su foo' to continue as foo
2014-02-16 18:51:30 -08:00
Vidar Holen
055b40462d
Improved $(echo ..) warnings
2014-02-16 13:26:50 -08:00
Vidar Holen
b087b7efb1
Some hlint fixes.
...
Ironically, this is the first time the linter has been linted.
2014-02-16 12:57:34 -08:00
Vidar Holen
5d8d57cf07
Suggest useless use of echo for $(echo $var)
2014-02-12 19:20:39 -08:00
Vidar Holen
197b3e3f20
Some checks for accidental rm -r
2014-02-04 19:43:16 -08:00
Vidar Holen
4e5d32b05a
Added --version flag
2014-02-03 20:06:59 -08:00
Vidar Holen
77916d2645
Fixed compilation error on GHC7
2014-02-02 21:47:02 -08:00
Vidar Holen
4968e7d9ff
Added -s flag to override dialect, e.g. -s ksh
2014-02-02 19:28:09 -08:00
Vidar Holen
075d58ee90
Replaced parser error for 'function' with shell-aware check.
2014-02-02 13:39:44 -08:00
Vidar Holen
6a4a5a815e
Don't consider last stage of pipeline a subshell for Ksh/Zsh
...
Also fixes the problem where pipelines were considered a single subshell.
2014-02-02 13:03:26 -08:00
Vidar Holen
76a39f254b
Refactoring, 25% speedup.
...
* Checks now use Writer monad instead of State
* Parser no longer emits notes unrelated to parsing.
* All checks are now passed a parameter value, containing shell type,
map from notes to parents and such. This eliminates recalculation
and removes the need for a special group of parent examining checks.
2014-02-02 04:59:17 -08:00
Vidar Holen
8ec9fa43fd
Warn about break/continue in subshells and outside loops
2014-02-01 23:45:26 -08:00
Vidar Holen
82328cd86e
Warn about literal "\ " just like literal quotes.
...
Also, do it recursively.
2014-01-27 22:11:46 -08:00
Vidar Holen
4262c4b1bf
Allow {} in arithmetic for loops
2014-01-26 12:44:51 -08:00
Vidar Holen
7ad0110443
Don't warn about sed '$d' or '$p'
2014-01-25 14:54:05 -08:00
Vidar Holen
e9bba2f75a
Don't warn about comma separation in for f in {a,b}
2014-01-25 14:30:25 -08:00
Vidar Holen
cfb44b3fe2
Warn about 'cd $f; foo; cd ..' loop antipattern.
2014-01-17 09:02:14 -08:00
Vidar Holen
43ed5e748d
Allow '# shellcheck disable=SC1234' to ignore by code.
2014-01-16 23:08:56 -08:00