Vidar Holen
8184ef1e8b
Don't complain about missing space in {( ( #937 )
2017-07-03 12:22:19 -07:00
Vidar Holen
a839a6657b
Warn when commands start with dashes ( #938 )
2017-07-03 12:06:59 -07:00
Vidar Holen
a10b924570
Mention correct operator when warning about spaces around += ( #944 )
2017-07-03 10:44:09 -07:00
Vidar Holen
8f31ae913b
Skip command argument when checking trap signal specs ( #946 )
2017-07-03 10:36:51 -07:00
mr.Shu
954aa99b11
Analytics.hs: Refactor cd, popd and pushd checks
...
* Refactor the check of unchecked `cd`, `pushd` and `popd` into one
function.
Signed-off-by: mr.Shu <mr@shu.io>
2017-06-12 12:16:01 +02:00
mr.Shu
79872f92f8
Merge branch 'master' of https://github.com/koalaman/shellcheck into mrshu/pushd-popd-like-cd
...
Signed-off-by: mr.Shu <mr@shu.io>
2017-06-12 11:29:19 +02:00
Vidar Holen
50c8172de4
Allow escaping ( with quotes in [ .. ] ( #925 )
2017-06-03 11:45:25 -07:00
Vidar Holen
ce950edbfd
Don't trigger SC2026 when followed by empty literals ( #923 )
2017-06-03 09:38:47 -07:00
Vidar Holen
6f4e06d83c
Avoid rescanning tree for lastpipe on every node.
2017-05-28 16:04:42 -07:00
Vladimir Panteleev
505ff7832f
Recognize bash's `shopt -s lastpipe`
...
Fixes #732 .
2017-05-28 14:56:49 -07:00
Vidar Holen
ac3f0b3360
SC2114 about rm -rf /usr is no longer silenced by --
2017-05-28 14:44:58 -07:00
Vidar Holen
070a465b64
Recognize missing and superfluous cases in getopts loops.
2017-05-28 13:38:04 -07:00
Vidar Holen
4243c6a0bf
Treat + like :+ to squash SC2068
2017-05-24 19:20:28 -07:00
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