Vidar Holen
363c0633e0
When reparsing array indices, do it recursively
2022-07-20 08:08:24 -07:00
Rune Juhl Jacobsen
3a118246ef
Fix bug in 2126 when using after/before flags with grep
...
Using `--after-context`/`-A` or `--before-context`/`-B` would give a warning
recommending the user to use `grep -c`, even though that would give a different
result than using `grep | wc -l`:
```fundamental
$ echo -e "1\n2\n3" | grep -cA 3 1
1
$ echo -e "1\n2\n3" | grep -A 3 1 | wc -l
3
```
2021-12-14 16:03:29 +01:00
Vidar Holen
d7971dafd1
Minor formatting fixes
2021-12-04 17:37:12 -08:00
Martin Schulze
9092080a84
bats: Add check for useless negation (SC2314/15)
2021-11-15 12:01:12 +01:00
Vidar Holen
499c99372e
Rewrite SC2032 warning and mention line number ( fixes #2353 )
2021-11-14 21:34:21 -08:00
Vidar Holen
d9a9d5db86
Mark prefix/postfix inc/dec as integers ( fixes #2376 )
2021-11-14 16:39:32 -08:00
Vidar Holen
3b6972fbf1
Update copyright years
2021-11-06 19:07:34 -07:00
Vidar Holen
8db220ae43
Include `local -r` in check-extra-masked-returns ( fixes #2362 )
2021-11-06 15:37:59 -07:00
Vidar Holen
efd49e486f
Consider all forms of TA_Assignment to remove spaces ( fixes #2364 )
2021-10-30 17:47:30 -07:00
Vidar Holen
788aee1b7c
Treat typeset similar to declare ( fixes #2354 )
2021-10-15 14:41:48 -07:00
Vidar Holen
c3aaa27540
Skip SC2214 if variable is modified in loop ( fixes #2351 )
2021-10-09 12:13:41 -07:00
Vidar Holen
205ba429b3
Warn about `read foo[i]` expanding as glob ( fixes #2345 )
2021-10-07 18:50:44 -07:00
Vidar Holen
23cddb037e
Merge pull request #2320 from DoxasticFox/set-e-proc-sub
...
Add extra checks for masked return codes
2021-10-02 12:52:59 -07:00
Christian Nassif-Haynes
093df8cb24
Add extra checks for masked return codes
2021-10-02 01:36:40 +10:00
Vidar Holen
fac97a5301
Don't emit SC2140 when trapped string is /, = or : ( fixes #2334 )
2021-09-25 20:23:58 -07:00
Vidar Holen
ad92cb4112
Disable UUOC for cat with unquoted variable ( fixes #2333 )
2021-09-25 19:46:27 -07:00
Vidar Holen
e7df718724
Strip lines containing "STRIP" from ./striptests
2021-09-18 20:43:42 -07:00
Vidar Holen
b044f5b23a
Don't trigger SC2140 on ${x+"a" "b"} ( fixes #2265 )
2021-09-18 18:59:42 -07:00
Vidar Holen
8012f6761d
Suppress SC2094 when both are input redirections ( fixes #2325 )
2021-09-18 18:00:15 -07:00
Vidar Holen
9a54e91195
Merge pull request #2318 from FabianWolff/grep-lL-wc-l
...
Do not suggest `grep -c` as a replacement for `grep -l/-L | wc -l`
2021-09-16 19:40:40 -07:00
Vidar Holen
64733cc110
Merge pull request #2303 from DoxasticFox/set-e-functions
...
Show info about `set -e` suppression during function calls
2021-09-04 17:06:24 -04:00
Christian Nassif-Haynes
dc9032fca5
Show info about `set -e` suppression during function calls
2021-09-05 04:23:25 +10:00
Fabian Wolff
40216487d6
Do not suggest `grep -c` as a replacement for `grep -l/-L | wc -l`
2021-09-02 17:47:06 +02:00
Vidar Holen
747bd8fd6a
Warn about strings for numerical operators in [[ ]] ( fixes #2312 )
2021-08-30 19:50:00 -07:00
Vidar Holen
f5fd9c2fed
Improve warnings about unnecessary subshells ( fixes #2169 )
2021-08-30 10:56:55 -07:00
Vidar Holen
081f7eba24
Fix parsing of [$var] ( fixes #2309 )
2021-08-26 23:05:14 -07:00
Vidar Holen
81b7ee5598
Don't warn about unused variables starting with _ ( fixes #1498 )
2021-08-26 19:40:21 -07:00
Vidar Holen
c85ce2cb06
Add `rg` to list of commands ignored for SC2016 ( fixes #2209 )
2021-08-26 18:50:40 -07:00
Vidar Holen
da7b28213e
Recognize wait -p as assigning a variable ( fixes #2179 )
2021-08-17 21:53:27 -07:00
Vidar Holen
c61fc7546e
Don't warn about variables guarded with :+ ( fixes #2296 )
2021-08-17 16:20:32 -07:00
Vidar Holen
8c0bf8d41f
Warn about looping over array values and using them as keys
2021-08-17 12:51:27 -07:00
Vidar Holen
bb0a571a1e
Improve warnings for bad parameter expansion ( fixes #2297 )
2021-08-16 21:02:20 -07:00
Vidar Holen
fed4a048bc
Suppress SC2167 when name is "_" ( fixes #2298 )
2021-08-13 23:11:20 -07:00
Vidar Holen
cf8066c07c
SC2295 Warn about unquoted variables in PE patterns ( fixes #2290 )
2021-08-03 13:02:53 -07:00
Vidar Holen
e33146d530
Avoid trigger SC2181 on composite $? checks ( fixes #1167 )
2021-07-29 20:51:19 -07:00
Vidar Holen
fe81dc1c27
Optionally suggest [[ over [ in Bash scripts (-o require-double-brackets) ( fixes #887 )
2021-07-27 18:53:30 -07:00
Vidar Holen
fbc8d2cb2f
Don't consider [ -n/-z/-v $var ] assignments for subshell modification ( fixes #2217 )
2021-07-27 09:33:22 -07:00
Vidar Holen
c471e45822
Allow printf/return/assignments after exec ( fixes #2249 )
2021-07-26 19:32:33 -07:00
Vidar Holen
4956b006ac
Fix broken test from previous commit
2021-07-25 19:56:51 -07:00
Vidar Holen
02e07625d1
Warn about quoting in assignments to sh declaration utilities ( fixes #1556 )
2021-07-25 19:36:42 -07:00
Vidar Holen
44471b73cc
Have SC2155 trigger on 'typeset' as well ( fixes #2262 )
2021-07-25 17:34:14 -07:00
Vidar Holen
0d58337cdd
Don't warn about repeated range in [[ -v arr[xxx] ]] ( fixes #2285 )
2021-07-25 13:01:57 -07:00
Vidar Holen
99f6554c9b
SC2181: Add '!' in suggestion as appropriate ( fixes #2189 )
2021-07-18 16:59:45 -07:00
Vidar Holen
022bc8277c
Merge pull request #2238 from bcran/legacy-backticks-msg
...
Fix typo in SC2006 message: "backticked" vs "backticks"
2021-07-02 09:55:18 -07:00
Vidar Holen
163b2f12e2
Sanity check command names ( fixes #2227 )
2021-06-05 18:16:22 -07:00
Rebecca Cran
b61a7658d6
Fix typo in SC2006 message: "backticked" vs "backticks"
2021-05-24 13:33:50 -06:00
Vidar Holen
331e89be99
Fix bad warning for ${#arr[*]}. Fixes #2218 .
2021-04-26 10:44:33 -07:00
Vidar Holen
fe25a2b00e
Treat ${arr[*]} like $* for SC2048
2021-04-24 17:08:10 -07:00
Vidar Holen
9e60b3ea84
Fix haddock failures ( fixes #2216 )
2021-04-22 22:17:51 -07:00
Vidar Holen
5669eb2203
Make x-comparison warning default
2021-04-11 15:52:13 -07:00
Vidar Holen
f02c297fdd
Merge parser and analyzer shebang parsing
2021-03-11 23:04:17 -08:00
Vidar Holen
ea83b602d7
Merge branch 'busybox' of https://github.com/austin987/shellcheck into austin987-busybox
2021-03-11 21:44:17 -08:00
Vidar Holen
83435c4f2e
Merge pull request #2134 from kolyshkin/podman-sc2016
...
Whitelist podman for SC2016 about '$var'
2021-03-07 20:48:58 -08:00
Vidar Holen
a69d6cb661
Merge pull request #2117 from brother/patch-1
...
Change error 2076 to a warning.
2021-03-07 20:47:53 -08:00
Austin English
2e59eba6eb
add support for `/bin/busybox sh` shebang
2021-02-05 19:56:44 -06:00
Vidar Holen
15ff87cf80
Merge pull request #2119 from josephcsible/refactors
...
Various refactorings
2021-02-02 18:14:27 -08:00
Kir Kolyshkin
99e9d5c54b
Whitelist podman for SC2016 about '$var'
...
Same as 08d2eef411
but for podman.
Fixes https://github.com/koalaman/shellcheck/issues/2057
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2021-01-27 16:21:44 -08:00
Vidar Holen
dff8f9492a
Improve SC2283 message and position
2021-01-05 10:07:39 -08:00
Vidar Holen
9584266a8b
Escape control characters when adding user data to messages
2020-12-31 12:28:48 -08:00
Vidar Holen
fbb14d6b38
Improve checks for = in command names ( fixes #2102 )
2020-12-30 20:30:43 -08:00
Joseph C. Sible
34939ca0b7
Fuse map into any
2020-12-28 18:13:34 -05:00
Joseph C. Sible
8480563672
Use syntactic sugar instead of building lists by hand
2020-12-28 18:13:34 -05:00
Joseph C. Sible
dfbcc9595e
Use mapM instead of reimplementing it
2020-12-28 17:48:58 -05:00
Joseph C. Sible
2c0766825e
Implement groupByLink in terms of foldr
2020-12-28 17:45:11 -05:00
Joseph C. Sible
cb4f4e7edc
Use mapM_ instead of reimplementing it
2020-12-28 17:34:52 -05:00
Martin Bagge / brother
19355226e1
Change error 2076 to a warning.
...
Implementing the suggestion by @pixarbuff #1985 .
2020-12-27 00:27:36 +01:00
Vidar Holen
bd3299edd3
Treat 'exec $1' like '$1' for the purpose of quoting ( fixes #2068 )
2020-12-17 20:31:45 -08:00
Vidar Holen
cc3884cf9f
Support env -S/--split-string in shebangs ( fixes #2105 )
2020-12-12 20:24:32 -08:00
Vidar Holen
6ba1af0898
Warn when a variable is assigned to itself
2020-12-11 20:28:36 -08:00
Vidar Holen
65044c2568
SC2095: Also warn if the command is backgrounded
2020-11-29 13:01:23 -08:00
Keith Smiley
619662adb6
Add readonly to SC2155
...
This adds a warning for readonly masking the return value of function.
This is mentioned in the wiki
https://github.com/koalaman/shellcheck/wiki/SC2155#problematic-code-in-the-case-of-readonly
but didn't actually produce a warning.
Fixes https://github.com/koalaman/shellcheck/issues/1336
2020-10-23 17:29:04 -07:00
Vidar Holen
28d3279ba6
Optional style warning about [ x$var = xval ]
2020-10-19 20:04:58 -07:00
Vidar Holen
256457c47a
Use getopts parser to find 'read' arrays ( fixes #2073 )
2020-10-18 22:57:16 -07:00
Vidar Holen
f100c2939e
Rewrite getopts style option parser
2020-10-18 21:34:58 -07:00
Vidar Holen
8d99926554
Recognize `local -x` similarly to `export` ( fixes #2069 )
2020-10-18 15:15:31 -07:00
Vidar Holen
218deb6d01
Update SC2091/SC2092 message and ignore in quotes.
2020-09-08 19:30:13 -07:00
Vidar Holen
43191fa71d
Suppress SC2035 for echo * and printf * ( fixes #2036 )
2020-09-01 14:19:28 -07:00
Vidar Holen
a62d9f10c2
Warn when using &/| between test statements
2020-08-23 15:43:33 -07:00
Vidar Holen
50067ddf94
Consider variables in -z/-n tests to be checked
2020-08-08 12:32:20 -07:00
Vidar Holen
3fa5b7d3bd
Merge branch 'supportMinusNZ' of https://github.com/donnerpeter/shellcheck into donnerpeter-supportMinusNZ
2020-08-08 11:22:00 -07:00
Vidar Holen
e779aedac3
Modernize getting mapfile array name
2020-08-07 16:41:18 -07:00
Vidar Holen
3ef1175566
Merge branch 'issue_1759_mapfile_proc_substition' of https://github.com/Gandalf-/shellcheck into Gandalf--issue_1759_mapfile_proc_substition
2020-08-07 15:57:59 -07:00
Vidar Holen
3e50a2fce8
Suppress SC2216 for du --files0-from or --exclude-from ( fixes #1286 )
2020-08-07 14:59:34 -07:00
Vidar Holen
1ac2c31728
Warn when shell functions blatantly recurse ( fixes #1994 )
2020-07-27 21:50:33 -07:00
Vidar Holen
34885142e7
Handle tilde expansion in pattern matching ( fixes #1769 )
2020-07-27 18:34:42 -07:00
Vidar Holen
5d753212fb
Improve handling of command prefixes like exec/command ( fixes #2008 )
2020-07-25 13:45:05 -07:00
Vidar Holen
5cf2c00ff7
Warn about defining and using an alias in a single command ( fixes #1807 )
2020-05-25 23:24:33 -07:00
Vidar Holen
a08ad3bee9
Count $# as an argument reference in SC2120
2020-05-25 23:24:33 -07:00
Vidar Holen
d6adbfde78
Improve SC2259/60/61 messages
2020-05-03 21:46:16 -07:00
Vidar Holen
2030b83607
Warn about duplicate uses of stdin/out/err
2020-05-03 11:54:25 -07:00
Vidar Holen
73cc11fd0a
Merge pull request #1901 from josephcsible/bracedstring
...
Mostly get rid of bracedString
2020-04-12 15:14:50 -07:00
Joseph C. Sible
b58bb4ba9d
Move bracedString to be local to its last use site
2020-04-11 19:24:11 -04:00
Joseph C. Sible
999b7e2596
Get rid of bracedString everywhere it's easy to
2020-04-11 19:24:11 -04:00
Joseph C. Sible
8a7497c4f0
Simplify checkVariableBraces
2020-04-11 19:23:13 -04:00
Joseph C. Sible
322842b57e
Remove unnecessary monadicity from wordToPseudoGlob
2020-04-05 19:29:40 -04:00
Vidar Holen
01f4423465
Disable SC2257 about > $((i=42)) for Dash
2020-04-05 11:38:22 -07:00
Vidar Holen
bd717c9d1b
Don't warn about [ 0 -ne $FOO ] || [ 0 -ne $BAR ] ( fixes #1891 )
2020-04-01 22:09:00 -07:00
Vidar Holen
da0931740f
Merge pull request #1876 from fork-graveyard/master
...
recognize `: ${parameter=word}` as assignment
2020-04-01 18:52:53 -07:00
Vidar Holen
c60323fb25
Merge pull request #1873 from josephcsible/checkwhilereadpitfalls
...
Simplify checkWhileReadPitfalls
2020-03-31 19:10:53 -07:00
girst
7a5e261d03
recognize `: ${parameter=word}` as assignment
2020-03-16 23:04:54 +01:00