If "type -p" is the one and only appropriate way to test for the runability of a command before running it then the only solution I can think of is to change the example to this: #!/bin/bash # A shell is required that implements the "type" command ... if type invoke-rc.d >/dev/null 2>&1 ; then invoke-rc.d package <action> else /etc/init.d/package <action> fi -- Thomas