Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Jan 1999 22:13:56 -0500 (EST)
From:      Alan Bawden <Alan@LCS.MIT.EDU>
To:        freebsd-questions@FreeBSD.ORG
Subject:   Re: messing with /etc/rc.conf
Message-ID:  <9Jan1999.220116.Alan@LCS.MIT.EDU>
In-Reply-To: <19990108192746.B63511@scientia.demon.co.uk> (message from Ben Smithurst on Fri, 8 Jan 1999 19:27:46 %2B0000)
References:  <8Jan1999.042549.Alan@LCS.MIT.EDU> <19990108192746.B63511@scientia.demon.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
   Date: Fri, 8 Jan 1999 19:27:46 +0000
   From: Ben Smithurst <ben@scientia.demon.co.uk>

   Alan Bawden wrote:
   > ... I recently learned
   > that if rc.conf contains the following:
   > 
   >   ntpdate_flags="-bs $(awk '$1 == "server" || $1 == "peer" {print $2}' /etc/ntp.conf)"
   > 
   > something will occasionally re-write this to read:
   > 
   >   ntpdate_flags="-bs $(awk '$1 == "

   Well obviously, since the first non-escaped quote will terminate the
   quoted string.

Forgive me, but it isn't obvious to me.  That second doublequote is
-inside- a $( ) pair, and so does -not- terminate the string if `sh' is
doing the parsing.

   Escape the quotes by preceding them with a backslash within the quoted
   string and it might work:

That, in fact, would make it illegal sh syntax.

   >  1.  What is it that makes this change.  And what exactly are the rules it
   >      applies when parsing/rewriting the file?

   The file is parsed by sh(1), read it's man page for quoting rules.

I did.  The file is perfectly legal sh syntax.  

I was wondering what -other- program it is that parses /etc/rc.conf, and if
there was some way I could write something that makes -both- sh, and that
other mystery program happy at the same time.

   >  2.  If I move the setting of ntpdate_flags into /etc/rc.conf.local, will
   >      whatever this thing is leave it alone there?

   No, it's still parsed by sh(1).

The line I wrote is perfectly legal sh syntax.  So if /etc/rc.conf.local is
-only- parsed by sh, then that will solve my problem.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9Jan1999.220116.Alan>