Mailinglist Archive: opensuse-de (1202 mails)
| < Previous | Next > |
Re: Ausführen aller Scripte in einem Verzeichniss
- From: B.Brodesser@xxxxxxxxxxx (Bernd Brodeßer)
- Date: Wed Sep 09 07:50:40 1998
- Message-id: <9809091046010Z.20139@brod>
Am Wed, 09 Sep 1998 schrieb Norbert Diernhofer:
Ich möchte mit einem Script alle Scripte eines UnterverzeichnissesIch geh mal davon aus, dass Du alle ausführbare Dateien[1], die
ausführen. Das ganze sieht etwa so aus.
Ich hab ein Verzeichnis bla mit dem Script a
Im Verzeichnis bla gibt es ein Unterverzeichnis bla
Das Script a soll nun alle Scripte im Verzeichnis /bla/bla mit dem Zusatz &
ausführen.
Gibt es hier bei Linux einen Befehl, oder muß ich alle Scripte in /bla/bla
per Hand im Script a angeben.
Ich bräuchte also eine Art Befehl run oder start.
unterhalb von /bla/bla liegen[2], ausführen möchtest. Das macht die
Sache leichter.
[1] Also auch alle übersetzte C-Prog. ...
[2] Es werden auch alle ausf. Dateien ausgeführt, die in ein
Unterverzeichnis stehn. Z.B. in /bla/bla/bla
Gib einfach
for i in $(find /bla/bla -type f -perm -1); do $i & done
ein. Kanst das natürlich auch in einem script schreiben. Pass aber
auf, das es sich nicht selbst aufruft.
Schau Dir den Befehl find im Manual und/oder info-Seiten an.
man find
info find
ist ein sehr mächtiges Werkzeug.
Die for...in...do...done Schleife ist Bestandteil der bash. Siehe:
man bash
Wofür brauchst Du das eigentlich? Gibt es da keine bessere
Möglichkeiten? Ist eigentlich nicht so geschickt, alles auszuführen
was in einem Verzeichnis steht. Da könnte auch mal ein Blödsinn
hingelangen. Besser ist, wenns mehr nachvollziehbarer wird.
Du könntest zumindest den find Befehl noch mit einem -name erweitern.
Z.B.: find /bla/bla -name "cmd*" -type f -perm -1
Dann müssten alle Deine scripte mit cmd beginnen. Meist gibts noch
bessere Lösungen.
--
Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@xxxxxxxx
schicken, mit dem Text: unsubscribe suse-linux
| < Previous | Next > |