Quotation of characters in the Korn shell or POSIX shell
When you want the Korn shell or POSIX shell to read a character as a regular character, rather than with any normally associated meaning, you must quote it.
Each metacharacter has a special meaning to the shell and, unless quoted, causes termination of a word. The following characters are considered metacharacters by the Korn shell or POSIX shell and must be quoted if they are to represent themselves:
- pipe (
- ampersand (
- semicolon (
- less-than sign (
<) and greater-than sign (
- left parenthesis (
() and right parenthesis (
- dollar sign (
- backquote (`) and single quotation mark (
- backslash (
- double-quotation marks (
- newline character
- space character
- tab character
To negate the special meaning of a metacharacter, use one of the quoting mechanisms in the following list.
|Backslash||A backslash (
|Single Quotation Marks||Enclosing characters in single quotation marks (
A backslash cannot be used to escape a single
quotation mark in a string that is set in single quotation marks. An embedded
quotation mark can be created by writing, for example: 'a'\''b',
|Double Quotation Marks||Enclosing characters in double quotation marks (
"\$" -> $ "\a" -> \a
- The meanings of dollar sign, asterisk (
$*) and dollar sign, at symbol (
$@) are identical when not quoted, when used as a parameter assignment value, or when used as a file name.
- When used as a command argument, double quotation marks, dollar sign,
asterisk, double quotation marks (
"$*") is equivalent to
"$1d$2d...", where d is the first character of the IFS parameter.
- Double quotation marks, at symbol, asterisk, double quotation marks (
"$@") are equivalent to
"$1" "$2" ....
- Inside backquotes (
``), the backslash quotes the characters backslash (
\), single quotation mark (
'), and dollar sign (
$). If the backquotes occur within double quotation marks (
" "), the backslash also quotes the double quotation marks character.
- Parameter and command substitution occurs inside double quotation marks
- The special meaning of reserved words or aliases is removed by quoting any character of the reserved word. You cannot quote function names or built-in command names.