Mark Baker wrote:
> Ian Jackson wrote:
> 
> >Package: debian-policy
> >Version: 3.6.1.0
> >
> >While trying to merge an NMU to my package, I spotted an idiom
> >obviously copied from the policy manual:
> >
> >       if [ -x /usr/sbin/invoke-rc.d ] ; then
> >             invoke-rc.d package <action>
> >       else
> >             /etc/init.d/package <action>
> >     fi
> >
> >This would be better expressed as
> >
> >     if type -p invoke-rc.d >/dev/null 2>&1; then
> >     ...
> >
> I think it's debatable whether searching the path for a command in an 
> init script is a good thing, but if we don't search the path for the 
> test we shouldn't do it when we actually execute the command, so the 
> code you quote is wrong either way.

Additionally using 'type -p' is bash specific.  Therefore it should
not be used in /bin/sh scripts.  Instead POSIX standard /bin/sh syntax
such as 'command -v' should be used.  I will rewrite the example for
clarity.

        if command -v invoke-rc.d >/dev/null 2>&1 ; then
                invoke-rc.d package <action>
        ...

-- 
Bob Proulx <[EMAIL PROTECTED]>
http://www.proulx.com/~bob/

Reply via email to