[linux-l] Re: Existenz eines Programmes herausfinden

Mike Dornberger Mike.Dornberger at gmx.de
Do Apr 13 02:49:14 CEST 2006


Hi,

On Wed, Apr 12, 2006 at 10:44:19PM +0200, Volker Grabsch wrote:
> Mein persönlicher Favorit war übrigens (in Perl):
>     system("$BEFEHL --help >/dev/null 2>/dev/null") == 0
> 
> (Natürlich kommt $BEFEHL nur aus einer fest eingebauten Liste.)

was machst du, wenn $BEFEHL --help nicht unterstützt? Also einen Fehler
wirft oder die Kommandozeilen nicht beachtet/falsch interpretiert und dann
$IRGENDWAS macht (rm -rf / *g*)?

perl:

perl -e 'for $x (split ":", $ENV{PATH}){print "$x\n";}'

sh:

(IFS=":"; for x in $PATH; do echo $x; done)

Ich hab hier mal Klammern gesetzt, damit eine neue Subshell aufgerufen,
damit in der aktuellen der InternalFieldSepertor nicht geändert wird.

Evt. ist ":" unter Windows mit ";" zu ersetzen.

(Ich hab jetzt mal nur schnell mit echo/print getestet; ein [ -x $x/$BEFEHL
] %% do_something gehört da denn entsprechend hin.)

Falls du mit den Win9x COMMAND.COM oder CMD.EXE arbeiten mußt, wird's evt.
haarig.

Gruß,
 Mike




Mehr Informationen über die Mailingliste linux-l