There are three quoting mechanisms:
the escape character, single quotes,
and double quotes.
A non-quoted backslash (\) is the
escape character. It preserves the
literal value of the next character
that follows, with the exception of
<newline>. If a \<newline> pair
appears, and the backslash is not
itself quoted, the \<newline> is
treated as a line continuation (that
is, it is removed from the input
stream and effectively ignored).
Enclosing characters in single quotes
preserves the literal value of each
character within the quotes. A
single quote may not occur between
single quotes, even when preceded by a
backslash.
Enclosing characters in double
quotes preserves the literal value of
all characters within the quotes, with
the exception of $, `, \, and, when
history expansion is enabled, !. The
characters $ and ` retain their
special meaning within double quotes.
The backslash retains its special
meaning only when followed by one of
the following characters: $, `, ",
\, or <newline>. A double quote may
be quoted within double quotes by
preceding it with a backslash. If
enabled, history expansion will be
performed unless an ! appearing in
double quotes is escaped using a
backslash. The backslash preceding
the ! is not removed.
The special parameters * and @ have
special meaning when in double quotes
(see PARAMETERS below).
Words of the form $'string' are
treated specially. The word expands
to string, with backslash-escaped
characters replaced as specified by
the ANSI C standard. Backslash escape
sequences, if present, are decoded as
follows:
\a alert (bell)
\b backspace
\e
\E an escape character
\f form feed
\n new line
\r carriage return
\t horizontal tab
\v vertical tab
\\ backslash
\' single quote
\" double quote
\nnn the eight-bit character whose value is the octal value nnn
(one to three digits)
\xHH the eight-bit character whose value is the hexadecimal value HH
(one or two hex digits)
\uHHHH the Unicode (ISO/IEC 10646) character whose value is
the hexadecimal value HHHH (one to four hex digits)
\UHHHHHHHH
the Unicode (ISO/IEC 10646) character whose value is
the hexadecimal value HHHHHHHH (one to eight hex digits)
\cx a control-x character
The expanded result is single-quoted,
as if the dollar sign had not been
present.
A double-quoted string preceded by a
dollar sign ($"string") will cause the
string to be translated according to
the current locale. If the current
locale is C or POSIX, the dollar sign
is ignored. If the string is
translated and replaced, the
replacement is double-quoted.