devd problem with 9-stable

Warren Block wblock at wonkity.com
Fri Jun 15 22:29:47 UTC 2012


On Fri, 15 Jun 2012, Freddie Cash wrote:

> On Fri, Jun 15, 2012 at 11:45 AM, Oliver Fromme <olli at lurza.secnetix.de> wrote:
>> Chuck Swiger wrote:
>>  > 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":
>>
>> Yes, I know that, but the question is how devd(8) parses the
>> action strings.
>>
>> The problem here is that we have multiple levels or parsing.
>> First, devd reads the line, concatenates continuation lines
>> (apparently -- it's not documented), expands devd variables,
>> and *then* it passes the resulting string to the shell for
>> further parsing and processing.
>
> If you have that many levels of backticks, variable expansions,
> programs, etc, wouldn't it be a prime candidate for a script?  Just
> pass in a couple of variables directly from devd, and then do
> everything else inside the script?

It can be done that way, sure.  But allowing short scripts in the action 
string makes for less files to maintain.  Exactly how devd parses the 
action string should be better-defined either way.


More information about the freebsd-stable mailing list