mirror of
https://github.com/koalaman/shellcheck.git
synced 2025-10-03 19:29:44 +08:00
Created SC1003 (markdown)
24
SC1003.md
Normal file
24
SC1003.md
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
Are you trying to escape that single quote? `echo 'You'\''re doing it wrong'`.
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
|
### Problematic code:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
echo 'You\'re doing it wrong' # unclosed single quote
|
||||||
|
```
|
||||||
|
|
||||||
|
### Correct code:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
echo 'You'\''re doing it wrong'
|
||||||
|
echo $'You\'re doing it wrong' # ksh/bash/zsh "c-style" quote
|
||||||
|
```
|
||||||
|
|
||||||
|
### Rationale
|
||||||
|
|
||||||
|
In POSIX shell, the shell cares about nothing but another single quote to terminate the quoted segment. Not even backslashes are interpreted.
|
||||||
|
|
||||||
|
[POSIX.1 Shell Command Language § 2.2.2 Single Quotes](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_02_02):
|
||||||
|
|
||||||
|
> Enclosing characters in single-quotes ( `''` ) shall preserve the literal value of each character within the single-quotes. A single-quote cannot occur within single-quotes.
|
||||||
|
|
Reference in New Issue
Block a user