Created SC2208 (markdown)

koalaman
2017-04-08 15:43:01 -07:00
parent 09585e4c18
commit 0d65145218

22
SC2208.md Normal file

@@ -0,0 +1,22 @@
## Use `[[ ]]` or quote arguments to -v to avoid glob expansion.
### Problematic code:
```sh
[ -v foo[0] ]
```
### Correct code:
```sh
[ -v 'foo[0]' ]
```
### Rationale:
With `[`, arguments will undergo glob expansion. If a file `foo0` exists when the problematic code is run, it will check for the variable `foo0` instead of the array entry `foo[0]`. If there additionally exists a `foo1`, it will simply fail with an error.
Use `[[ ]]` or quote the argument.
### Exceptions:
None.