Date: Fri, 15 Jun 2012 11:32:46 -0700 From: Chuck Swiger <cswiger@mac.com> To: Oliver Fromme <olli@lurza.secnetix.de> Cc: freebsd-stable List <freebsd-stable@FreeBSD.ORG> Subject: Re: devd problem with 9-stable Message-ID: <8F30E6C0-0FDB-46D2-9E2F-3A909B8B6182@mac.com> In-Reply-To: <201206151823.q5FINRFT084093@lurza.secnetix.de> References: <201206151823.q5FINRFT084093@lurza.secnetix.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Jun 15, 2012, at 11:23 AM, Oliver Fromme wrote:
> You can try to prepend a backslash, i.e. echo \$devnum. This
> isn't documented, but then again, using backslashes to continue
> strings that span multiple lines isn't documented either.
Line continuations and escaping special chars like $ are in "man sh":
"Backslash
A backslash preserves the literal meaning of the following char-
acter, with the exception of the newline character (`\n'). A
backslash preceding a newline is treated as a line continuation."
The Bash manpage is perhaps more clear about this:
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.
Regards,
--
-Chuck
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8F30E6C0-0FDB-46D2-9E2F-3A909B8B6182>
