9 SC1003
wileyhy edited this page 2024-10-05 22:24:13 -07:00

Want to escape a single quote? echo 'This is how it'\''s done'.

(Note: in v0.4.6, the error message was accidentally missing the backslash)

Problematic code:

echo 'This is not how it\'s done'.

Correct code:

echo 'This is how it'\''s done'.

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:

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.

Exceptions

If you want your single-quoted string to end in a backslash, you can rewrite as 'string'\\ or ignore this warning.