This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: [cron-config] Possible issue with administrators group ?
2012/5/31 Eric Blake <eblake@redhat.com>:
> On 05/31/2012 05:18 AM, AZ 9901 wrote:
>> 2012/5/29 AZ 9901 :
>>> Hello,
>>>
>>> I am looking at the /bin/cron-config script.
>>>
>>> Line 627, we can find :
>>> elif net localgroup "${_admingroup}" | grep -Eiq "^${username}.?$"; then
>>>
>>> Why .? at the end of the regexp ? "^${username}.?$"
>
> Because 'net' outputs in DOS mode, with carriage returns at the end.
>
OK, I was also thinking about this (talking about buggy output) but I
was not sure.
Strange that using grep -iq "^${username}$" works fine (well, I just
tested this on my XP).
Do Windows tools output in DOS mode "when they want" ?
>>>
>>> We could have problems if for example we already have "user1" in
>>> administrators group, and cron user is "user2".
>>> "user2" would then not be added to the administrators group.
>
> Wouldn't that rather be "we could have problems if we already have
> 'user1', the output does not have carriage returns, and we are trying to
> add 'user12'"?
>
Yes you're perfectly right, sorry for the mistake :-)
>> Any clue about this regexp ?
>
> Since the trailing '.?' exists to strip carriage returns, would it be
> any more robust to write this as:
>
> net localgroup "${_admingroup}" | d2u | grep -Eiq "^${username}$"
>
Yes I think so, or using sed 's/\r\n$/\n/'
Same effect, should work too.
Thank you !
Ben
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple