Problematic code:
echo 'This is not how it\'s done'.
Correct code:
echo 'This is how it'\''s done'.
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.
Exception:
- If you want your single quoted string to end in a backslash, you can rewrite as 'string'\\
or ignore this warning.