Re: im bashskript nach $@ greppen
On Sun, Aug 21, 2005 at 10:40:40AM +0200, Bastian Venthur wrote:
> Hi Liste,
>
> ich möchte in einem bash-Skript nach $@ greppen, also nach allen Parametern,
> mit denen das Skript aufgerufen wird. Leider weis ich nicht so recht, wie
> ich die Gänsefüßchen (") richtig escape, denn
>
> ... | grep @$ | ...
>
> mit mehr als einem Parameter funktioniert nicht, da grep sonst denkt der
> zweite Parameter wäre die Eingabedatei.
>
> Ich hab schon alles Mögliche Probiert:
>
> grep "$@"
Normalerweise funktioniert das so, aber
RTFM
Special Parameters
The shell treats several parameters specially. These parameters
may only be referenced; assignment to them is not allowed.
@ Expands to the positional parameters, starting from one. When
the expansion occurs within double quotes, each parameter
expands to a separate word. That is, "$@" is equivalent to
"$1" "$2" ... When there are no positional parameters, "$@"
and $@ expand to nothing (i.e., they are removed).
mit einem kleinen Trick geht es doch:
T="$@"
... | grep "$T" | ...
Gruß
Christian
--
Christian Knoke * * * http://cknoke.de
* * * * * * * * * Ceterum censeo Microsoft esse dividendum.
Reply to: