Skip to content
wileyhy edited this page Oct 6, 2024 · 9 revisions

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.

ShellCheck

Each individual ShellCheck warning has its own wiki page like SC1000. Use GitHub Wiki's "Pages" feature above to find a specific one, or see Checks.

Clone this wiki locally