Re: [maillist] Frage zu bash Script(s)

Karsten Hopp (Karsten.Hopp@delix.de)
Mon, 30 Aug 1999 09:42:50 +0200

Hallo,

Ich wuerde den Suchstring als ersten Parameter uebergeben und die
Liste der RPMs als 2.

Wenn man den 1.Parameter einer Variablen zugewiesen hat, kann man ihn mit
'shift' (help shift) aus der Parameterliste rausschmeissen und hat nur
noch die Liste der RPMs.

Karsten

On Sun, Aug 29, 1999 at 12:43:02PM +0200, Micha Holzmann wrote:
> Hallo,
>
> ich moechte wissen in welchem Paket das Programm/Datei 'nslookup' enthalten ist.
> Dazu gebe ich folgendes ein:
>
> [kaliba] #for i in *.rpm; do rpm -qlp $i|egrep -i "nslookup" > /dev/null && echo $i; done
> bind-doc-8.1.2-7.i386.rpm
> bind-utils-8.1.2-7.i386.rpm
>
> Der Bequemlichkeit halber habe ich das ganze in ein Script gepackt.
>
> --- cut here ----
> #!/bin/sh
> # Script : search
> # Purpose : search in RPM for a file
> # Syntax : search [rpm] [string] ex: search *.rpm nslookup
>
> for i in $*; do rpm -qlp $i|egrep -i $2 && echo $i; done
> --- cut here ----
>
> In $* stehen nun alle RPMs des aktuellen Verzeichnisses plus den String
> den ich mit angegeben habe. Logischerweise bricht das Script dann ab, weil
> rpm kein nslookup.rpm oeffnen kann.
>
> Das liegt wohl an der Art wie die bash mit Joker/Wildcard umgeht. Wenn ich
> ein Script starte, wird eine weitere Shellinstanz gestartet und die Variable
> $* enthaelt alle RPMs plus meinen zweiten Aufrufparameter.
>
> Was muss ich tun, um meinem (oder auch anderen) Script fuer einen Teil der
> Bearbeitung die Dateinamen zu uebergeben und andererseits einen anderen
> Parameter fuer den zweiten Teil der Bearbeitung?
>
> Gruss,
> Micha Holzmann
>

--
 Karsten Hopp                                  | Mail: karsten@delix.de
 delix Computer GmbH | UUNET POP Stuttgart     | Tel: +49-711-621027-0
 Schloss-Strasse. 98 | UUNET Vertriebspartner  | Fax: +49-711-613590
 D-70176 Stuttgart   | Deutsche Linux D. - DLD | http://www.delix.de