Updated SC1010 (markdown)

koalaman
2016-01-20 14:58:52 -08:00
parent b9b0bb7584
commit 657f12cc15

@@ -2,16 +2,22 @@
### Problematic code:
```
for f in *; do echo "$f" done
```
### Correct code:
```
for f in *; do echo "$f"; done
```
### Rationale:
`done` only works as a keyword when it's the first token of the command. If added after a command, it will just be the literal word "done".
This is also true for other keywords like `then`.
### Exceptions
If you're intentionally using `done` as a literal, you can quote it to make this clear to shellcheck (and also human readers), e.g. instead of `echo Task is done`, use `echo "Task is done"`. This makes no difference to the shell, but it will silence this warning.