[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: wie teste ich im bash skript ob * als kommandozeilen parameter uebergeben wurde?



Am Mon, Jan 30, 2006 at 02:03:04PM +0100, schrieb Frank Küster:
> Thorsten Haude <debian@thorstenhau.de> wrote:
> 
> > Moin,
> >
> > * Frank Küster wrote (2006-01-30 10:24):
> >>Dir ist klar, dass man Skripte auch auf andere Weise als aus der Shell
> >>aufrufen kann? 
> >
> > Ich sage ja, daß wir noch eine Weile lustig 'rumdiskutieren können.
> > Das geschilderte Problem ist aber ein anderes, darum lasse ich Dich an
> > dieser Stelle mal alleine.
> 
> Ich habe keine Ahnung, welchen der beiden Fälle das Borghart gemeint
> hat, hast du eine Kristallkugel oder habe ich eine Mail von ihm
> überlesen? 
> 
> Gruß, Frank
Er hat den Fall gemeint, ein bash-Skript wird mit * als Wildcard aufgerufen.
Borghart hat den Stern ohne Anführungsstriche geschrieben und außerdem erklärt,
daß er die gewünschte Auswertung erhält, wenn er das globbing abschaltet 
(set -f). Es ist wohl gewünscht, daß das Skript ein Liste von Parametern er-
hält. Aber sie kann eben in verschiedener Form übergeben werden:

1. teststar *
2. teststar file1 file2 
3. teststar file1 file2 *

Nun ist die Frage wie kann diese Parameterliste auf Stern hin untersucht 
werden.
Ich würde denken, die Parameterübergabe ins Skript hineinzuverlegen (wenn 
möglich) mittels read, also

read STERN
if [ "$STERN" = "*" ]; then
        echo called with star
fi

Gruß Thomas



Reply to: