Created SC2074 (markdown)

koalaman
2017-06-26 17:34:46 -07:00
parent f97d5375ec
commit 9bae18f627

22
SC2074.md Normal file

@@ -0,0 +1,22 @@
## Can't use `=~` in `[ ]`. Use `[[..]]` instead.
### Problematic code:
```sh
[ "$input" =~ DOC[0-9]*\.txt ] && echo "match"
```
### Correct code:
```sh
[[ "$input" =~ DOC[0-9]*\.txt ]] && echo "match"
```
### Rationale:
`=~` only works in `[[ .. ]]` tests. It does not work with `test` or `[` in any shell.
If you're targeting POSIX `sh`, rewrite in terms of `case` or `grep` instead.
### Exceptions:
None.