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: