Mailinglist Archive: opensuse-de (1202 mails)

< Previous Next >
Re: Ausführen aller Scripte in einem Verzeichniss



Am Wed, 09 Sep 1998 schrieb Norbert Diernhofer:
Ich möchte mit einem Script alle Scripte eines Unterverzeichnisses
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.

Ich geh mal davon aus, dass Du alle ausführbare Dateien[1], die
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 >
Follow Ups
References