mirror of
https://github.com/koalaman/shellcheck.git
synced 2025-10-04 03:46:06 +08:00
Created SC2291 (markdown)
37
SC2291.md
Normal file
37
SC2291.md
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
## Quote repeated spaces to avoid them collapsing into one.
|
||||||
|
|
||||||
|
### Problematic code:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
echo Hello World
|
||||||
|
```
|
||||||
|
|
||||||
|
### Correct code:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
echo "Hello World"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Rationale:
|
||||||
|
|
||||||
|
ShellCheck found multiple unquoted spaces between words passed to `echo`. Due to the way arguments are interpreted and passed in the shell, these will collapse into a single space:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ echo Hello World
|
||||||
|
Hello World
|
||||||
|
```
|
||||||
|
|
||||||
|
If you want to output multiple spaces, such as when creating a notice or banner, make sure the spaces are quoted, e.g. by adding (or extending) double quotes to include them:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ echo "Hello World"
|
||||||
|
Hello World
|
||||||
|
```
|
||||||
|
|
||||||
|
### Exceptions:
|
||||||
|
|
||||||
|
If you're aware of this behavior and didn't want multiple spaces to show up in the output, you can either remove the unnecessary spaces or [[ignore]] this issue.
|
||||||
|
|
||||||
|
### Related resources:
|
||||||
|
|
||||||
|
* Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!
|
Reference in New Issue
Block a user