mirror of
https://github.com/koalaman/shellcheck.git
synced 2025-10-03 19:29:44 +08:00
Updated SC1010 (markdown)
@@ -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.
|
||||
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.
|
||||
|
Reference in New Issue
Block a user