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

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: